軟件設計方案(案例)_第1頁
軟件設計方案(案例)_第2頁
軟件設計方案(案例)_第3頁
軟件設計方案(案例)_第4頁
軟件設計方案(案例)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件設計方案用戶界面設計規(guī)范用戶界面:又稱人機界面,實現(xiàn)用戶與計算機之間的通信,以控制計算機或進行用感謝閱讀戶與計算機之間的數(shù)據(jù)傳送的系統(tǒng)部件.GUI:即圖形用戶界面,一種可視化的用戶界面,它使用圖形界面代替正文界面。謝謝閱讀本系統(tǒng)堅持圖形用戶界面(GUI)設計原則,界面直觀、對用戶透明。用戶接觸軟件精品文檔放心下載后對界面上對應的功能一目了然、不需要多少培訓就可以方便地使用本應用系感謝閱讀統(tǒng)。1、界面設計介紹界面設計是為了滿足軟件專業(yè)化標準化的需求而產(chǎn)生的對軟件的使用界面進行美化優(yōu)化規(guī)范化的設計分支.精品文檔放心下載1)軟件啟動封面設計應使軟件啟動封面最終為高清晰度的圖像,選用的色彩不宜超過256色,大小多為主流顯示器分辨率的1/6大。啟動封面上應該醒目地標注制作或支持的公司標志、產(chǎn)品商標、軟件名稱、版本號、網(wǎng)址、版權(quán)聲明、序列號等信息,以樹立軟件形象,方便使用者或購買者在軟件啟動的時候得到提示.插圖宜使用具有獨立版權(quán)的、象征性強的、識別性高的、視覺傳達效果好的圖形,若使用攝影也應該進行數(shù)位處理,以形成該軟件的個性化特征.如果是系列軟件還將考慮整體設計的統(tǒng)一和延續(xù)性。精品文檔放心下載2)軟件框架設計軟件的框架設計要復雜得多。軟件框架設計應該簡潔明快,盡量少用無謂的裝飾,應該考慮節(jié)省屏幕空間,各種分辨率的大小,縮放時的狀態(tài)和原則,并且為將來設計的按鈕、菜單、標簽、滾動條及狀態(tài)欄預留位置。設計中將整體色彩組合進行合理搭配,將軟件商標放在顯著位置,主菜單應放在左邊或上邊,滾動條放在右邊,狀態(tài)欄放在下邊,以符合視覺流程和用戶使用心理.精品文檔放心下載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ū)別。感謝閱讀4)軟件面板設計軟件面板設計應該具有縮放功能,面板應該對功能區(qū)間劃分清晰,應該和對話框、謝謝閱讀彈出框等風格匹配,盡量節(jié)省空間,切換方便。5)菜單設計菜單設計一般有選中狀態(tài)和未選中狀態(tài),左邊應為名稱,右邊應為快捷鍵。如果有下級菜單應該有下級箭頭符號,不同功能區(qū)間應該用線條分割。對與進行的操作無關的菜單要用屏蔽的方式加以處理,如果采用動態(tài)加載方式,即只有需要的菜單才顯示最好。主菜單的寬度要接近,字數(shù)不應多于四個,每個菜單的字數(shù)能相同最好.主菜單數(shù)目不應太多,最好為單排布置。謝謝閱讀6)標簽設計標簽設計應該注意轉(zhuǎn)角部分的變化,狀態(tài)可參考按鈕。7)圖標設計圖標設計色彩不宜超過64色,大小為16x16、32x32兩種,應該加以著重考慮視覺沖擊力,它需要在很小的范圍表現(xiàn)出軟件的內(nèi)涵,在設計時使用簡單的顏色,利用眼睛對色彩和網(wǎng)點的空間混合效果,做出精彩圖標。謝謝閱讀8)滾動條及狀態(tài)欄設計滾動條主要是為了對區(qū)域性空間的固定大小中內(nèi)容量的變換進行設計,應該有上下箭頭,滾動標等,有些還有翻頁標.狀態(tài)欄是為了對軟件當前狀態(tài)的顯示和提示.謝謝閱讀9)安裝過程設計安裝過程設計主要是將軟件安裝的過程進行美化,包括對軟件功能進行圖示化.10)包裝及商品化精品文檔放心下載最后軟件產(chǎn)品的包裝應該考慮保護好軟件產(chǎn)品,功能的宣傳融合于美觀中,可以印刷部分產(chǎn)品介紹.感謝閱讀2、界面設計原則1)易用性(1)完成相同或相近功能的按鈕用Frame框起來,常用按鈕要支持快捷方式;精品文檔放心下載(2)完成同一功能或任務的元素放在集中位置,減少鼠標移動的距離;感謝閱讀(3)按功能將界面劃分局域塊,用Frame框括起來,并要有功能說明或標題;(4)界面要支持鍵盤自動瀏覽按鈕功能,即按Tab鍵的自動切換功能;感謝閱讀(5)同一界面上的控件數(shù)最好不要超過10個,多于10個時可以考慮使用分頁界面顯謝謝閱讀示;(6)分頁界面要支持在頁面間的快捷切換,常用組合快捷鍵Ctrl+Tab;感謝閱讀(7)默認按鈕要支持Enter及選操作,即按Enter后自動執(zhí)行默認按鈕對應操作;(8)可寫控件檢測到非法輸入后應給出說明并能自動獲得焦點;感謝閱讀(9)Tab鍵的順序與控件排列順序要一致,目前流行從上到下、從左到右的方式;精品文檔放心下載(10)復選框和選項框要有默認選項,按選擇機率的高低而先后排列,并支持Tab選擇;精品文檔放心下載(11)界面空間較小時使用下拉框而不用選項框;(12)選項數(shù)較少時使用選項框,相反使用下拉列表框;感謝閱讀(13)適當使用相關的專業(yè)術(shù)語,提倡使用通用性字眼。謝謝閱讀2)規(guī)范性通常界面設計都按Windows界面的規(guī)范來設計,即包含“菜單條、工具欄、工具廂、狀態(tài)欄、滾動條、右鍵快捷菜單”的標準格式。小型軟件一般不提供工具廂.感謝閱讀(1)菜單前的圖標能直觀地代表要完成的操作,常用菜單要有命令快捷方式;(2)完成相同或相近功能的菜單用橫線隔開放在同一位置,菜單深度一般要求最多控制在三層以內(nèi);精品文檔放心下載(3)相同或相近功能的工具欄放在一起,工具欄中的每一個按鈕要有及時提示信息;謝謝閱讀(4)系統(tǒng)常用的工具欄設置默認放置位置,工具欄的圖標能直觀地代表要完成的操作,一條工具欄的長度不能超出屏幕寬度;精品文檔放心下載(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)右鍵快捷菜單采用與菜單相同的準則。3)合理性屏幕對角線相交的位置是用戶直視的地方,正上方四分之一處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個位置。精品文檔放心下載(1)父窗體或主窗體的中心位置應該在對角線焦點附近;謝謝閱讀(2)子窗體位置應該在主窗體的左上角或正中,多個子窗體彈出時應該依次向右下方偏移,以顯示出窗體標題為宜;感謝閱讀(3)重要的命令按鈕與使用較頻繁的按鈕要放在界面上注目的位置;謝謝閱讀(4)與正在進行的操作無關的按鈕應該加以屏蔽(Windows中用灰色顯示,沒法使用該按鈕);精品文檔放心下載(5)對可能造成數(shù)據(jù)無法恢復的操作必須提供確認信息,給用戶放棄選擇的機會。感謝閱讀4)美觀與協(xié)調(diào)性(1)按鈕大小基本相近,且與界面的大小、空間要協(xié)調(diào),忌用太長的名稱;(2)避免空曠的界面上放置很大的按鈕,放置完控件后界面不應有很大的空缺位置;感謝閱讀(3)前景與背景色搭配合理協(xié)調(diào),反差不宜太大,最好少用深色,常用色考慮使感謝閱讀Windows界面色調(diào);(4)界面風格要保持一致,字的大小、顏色、字體要相同,除非是需要藝術(shù)處理或有特殊要求的地方;精品文檔放心下載(5)如果窗體支持最小化、最大化或放大時,窗體上的控件也要隨著窗體而縮放;謝謝閱讀(6)對于含有按鈕的界面一般不應該支持縮放,即右上角只有關閉功能;精品文檔放心下載(7)通常父窗體支持縮放時,子窗體沒有必要縮放.5)界面一致性在界面設計中應該保持界面的一致性。一致性既包括使用標準的控件,也指使用精品文檔放心下載相同的信息表現(xiàn)方法,如在字體、標簽風格、顏色、術(shù)語、顯示錯誤信息等方面確保一致.謝謝閱讀(1)顯示信息一致性①標簽提示:字體為不加粗、宋體、黑色、灰底或透明、無邊框、右對齊、不帶冒號、一般情況為五號;感謝閱讀②日期:正常字體、宋體、白底黑字;③對齊方法左對齊:一般文字、單個數(shù)字、日期等右對齊:數(shù)字、時間、日期加時間④分辨率800*600,增強色16色;⑤字體缺省為宋體、五號、黑色;⑥底色缺省為灰色。這些信息的排列顯示風格供參考,在同一軟件中應當注意表現(xiàn)形式的一致性。感謝閱讀(2)布局合理化應注意在一個窗口內(nèi)部所有控件的布局和信息組織的藝術(shù)性,使得用戶界面美觀。布局不宜過于密集,也不能過于空曠,合理的利用空間.謝謝閱讀在一個窗口中按tab鍵,移動順序不能雜亂無章,先從上至下,再從左至右。一屏中首先應輸入的和重要信息的控件在tab順序中應當靠前,并放在窗口上較醒目的位置。布局力求簡潔、有序、易于操作。謝謝閱讀(3)鼠標與鍵盤對應應用中的功能只用鍵盤也應當可以完成,即設計的應用中還應加入一些必要的按鈕和菜單項。但是,許多鼠標的操作,如雙擊、拖動對象等,并不能簡單地用鍵盤來模擬即可實現(xiàn)。例如在一個列表框中用鼠標單擊其中一項表示選中該項內(nèi)容,為了用鍵盤也能實現(xiàn)這一功能,必須在窗口中定義一個表示選中的按鈕,以作為實現(xiàn)單擊功能的替。又如在一個窗口中有兩個數(shù)據(jù)窗口,可以用鼠標從一個數(shù)據(jù)窗口中將一項拖出然后放到另一個中,如果只用鍵盤,就應當在菜單中設置拷貝或移動的菜單項。感謝閱讀(4)快捷鍵在菜單項中使用快捷鍵可以讓使用鍵盤的用戶操作得更快一些,在Windows及其應用軟感謝閱讀件中快捷鍵的使用大多是一致的。本系統(tǒng)中應用的快捷鍵在各個配置項上語義必須保持一致。謝謝閱讀Ctrl-O打開Ctrl-Tab下一窗口Ctrl-S保存Ctrl—Esc任務列表Ctrl-C拷貝Ctrl—F4關閉窗口Ctrl—V粘貼Alt—F4結(jié)束應用Ctrl—D刪除Alt-Tab下一應用Ctrl-X剪切Enter缺省按鈕/確認操作Ctrl-I插入Esc取消按鈕/取消操作Ctrl—H幫助Shift-F1上下文相關幫助Ctrl—P打印Ctrl-W關閉其它快捷鍵其它快捷鍵使用漢語拼音的開頭字母,不常用的可以沒有快捷鍵。謝謝閱讀6)向?qū)τ趹弥心承┎糠值奶幚砹鞒淌枪潭ǖ?,用戶必須按照指定的順序輸入操作信?為了使用戶操作得到必要的引示應該使用向?qū)?,使用戶使用功能時比較輕松明了,但是向?qū)П仨氂迷诠潭ㄌ幚砹鞒讨?,并且處理流程應該不少?個處理步驟。精品文檔放心下載7)用戶幫助系統(tǒng)應該提供詳盡而可靠的幫助文檔,在用戶使用產(chǎn)生迷惑時可以自己尋求解決方法。感謝閱讀常用的幫助設施有兩種:集成的和附加的.集成的幫助設施一開始就是設計在軟件中的,它與語境有關,用戶可以直接選擇與所要執(zhí)行操作相關的主題。通過集成幫助設施可以縮短用戶獲得幫助的時間,增加界面的友好性,附加的幫助設施在系統(tǒng)建好以后再加進去,通常是一種查詢能力比較弱的聯(lián)機幫助。精品文檔放心下載(1)幫助文檔中的性能介紹與說明要和系統(tǒng)性能配套一致;精品文檔放心下載(2)操作時要提供及時調(diào)用系統(tǒng)幫助的功能,常用F1;謝謝閱讀(3)最好提供目前流行的聯(lián)機幫助格式或HTML幫助格式;謝謝閱讀(4)用戶可以用關鍵詞在幫助索引中搜索所要的幫助,當然也應該提供幫助主精品文檔放心下載題詞;(5)在幫助中應該提供我們的技術(shù)支持方式,一旦用戶難以自己解決可以方便地感謝閱讀尋求新的幫助方式.8)出錯信息和警告出錯信息和警告是指出現(xiàn)問題時系統(tǒng)給出的壞消息,信息以用戶可以理解的術(shù)語描述。謝謝閱讀(1)信息應提供如何從錯誤中恢復的建設性意見;(2)信息應指出錯誤可能導致哪些不良后果,以便用戶檢查是否出現(xiàn)了這些情況并幫助用戶進行改正;精品文檔放心下載(3)信息應伴隨著視覺上的提示,如特殊的圖像、顏色或者信息閃爍;精品文檔放心下載(4)信息不能帶有判斷色彩,即在任何情況下不能指責用戶.精品文檔放心下載9)一般交互(1)一致性:菜單選擇、數(shù)據(jù)顯示以及其它功能都應使用一致的格式;精品文檔放心下載(2)提供有意義的反饋;(3)在數(shù)據(jù)錄入上允許取消大多數(shù)操作;(4)減少在動作間必須記憶的信息數(shù)量;(5)允許用戶非惡意錯誤,系統(tǒng)應保護自己不受致命錯誤的破壞。感謝閱讀10)數(shù)據(jù)輸入(1)盡量減少用戶輸入動作的數(shù)量;(2)維護信息顯示和數(shù)據(jù)輸入的一致性;(3)交互應該是靈活的,對鍵盤和鼠標輸入的靈活性提供支持;精品文檔放心下載(4)在當前動作的語境中使不合適的命令不起作用。11)獨特性如果一味地遵循業(yè)界的界面標準,則會喪失自己的個性.在框架符合規(guī)范的情況下,設計具有自己獨特風格的界面尤為重要,在商業(yè)軟件流通中會有很好的潛移默化的廣告效用.安裝界面上應有單位介紹或產(chǎn)品介紹,并有自己的圖標.精品文檔放心下載編程規(guī)范總則1、排版1)程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個,對于由開發(fā)工具自動生成的代碼可以不一致;精品文檔放心下載2)相對獨立的程序塊之間、變量說明之后必須加空行;3)較長的語句要分成多行書寫,長表達式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當?shù)目s進,使排版整齊,語句可讀;感謝閱讀4)循環(huán)、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分,同3);精品文檔放心下載5)若函數(shù)或過程中的參數(shù)較長,也要進行適當?shù)膭澐郑?)不允許把多個短語句寫在一行中,即一行只寫一條語句;謝謝閱讀7)if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執(zhí)行語句部分無論多少都要加括號{};感謝閱讀8)對齊只使用空格鍵,不使用TAB鍵;9)函數(shù)或過程的開始、結(jié)構(gòu)的定義及循環(huán)、判斷等語句中的代碼都要采用縮進風格,case語句下的處理語句也要遵從語句縮進要求;謝謝閱讀10)程序塊的分界符(如大括號‘{’和‘}’)應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數(shù)體的開始、類的定義、結(jié)構(gòu)的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進精品文檔放心下載方式;11)在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格,但不要連續(xù)留兩個以上空格。進行非對等操作時,如果是關系密切的操作符(如->)后不應加空格。精品文檔放心下載采用這種松散方式編寫代碼的目的是使代碼更加清晰,在已經(jīng)非常清晰的語句中沒有必要ot;、";~"、"++"、";--"、";&"(地址運算符)等單目操作符前后不加空格。感謝閱讀flag=!isFull;p=&com;i++;(4)"->;"、"."前后不加空格。精品文檔放心下載(5)if、for、while、switch等與后面的括號間應加空格,使if等關鍵字更為突出、明顯。感謝閱讀if(a>=b&&c>d)感謝閱讀12)一行程序以小于80字符為宜,不要寫得過長。謝謝閱讀2、注釋注釋應該說明代碼的目的,要講清為什么要那么做,而不是怎么去做。1)一般情況下,源程序有效注釋量必須在20%以上.注釋的原則是有助于對程序的閱讀理解,在該加的地方都加,注釋不宜太多也不能太少,注釋語言必須準確、易懂、簡潔;感謝閱讀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)、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數(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、標識符命名1)標識符的命名要清晰明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解。較長的單詞可取單詞的頭幾個字母形成縮寫,一些單詞有大家公認的縮寫;謝謝閱讀2)命名中若使用特殊約定或縮寫,應該在源文件的開始之處,進行必要的注釋說明;精品文檔放心下載3)命名風格要自始至終保持一致;4)對于變量命名,禁止取單個字符(如i、j、k。..)。單個字符容易敲錯,且編譯時又不易檢查出來。建議除了要有具體含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部循環(huán)變量是可以的;精品文檔放心下載5)命名規(guī)范必須與所使用的系統(tǒng)風格保持一致,并在同一項目中統(tǒng)一.除非必要,不要用數(shù)字或較奇怪的字符來定義標識符;精品文檔放心下載6)在同一軟件產(chǎn)品begin/endcreate/destroyinsert/deleteadd/deleteget/releaseincrement/decrementput/getlock/unlockopen/closefirst/lastmin/maxold/newstart/stopnext/previoussend/receiveshow/hidesource/targetsource/destinationcut/pasteup/down8)除了特殊應用,應避免使用以下劃線開始和結(jié)尾的定義。謝謝閱讀4、可讀性1)注意運算符的優(yōu)先級,并用括號明確表達式的操作順序,避免使用默認優(yōu)先級;感謝閱讀2)避免使用不易理解的數(shù)字,用有意義的標識來替代;3)源程序中關系較為緊密的代碼應盡可能相鄰,便于程序閱讀和查找;感謝閱讀4)不要使用難懂的技巧性很高的語句,除非很有必要時。程序的高效率并不等同于語句的高技巧,而在于算法。感謝閱讀5、變量與結(jié)構(gòu)1)去掉沒必要的公共變量,以降低模塊間的耦合度;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)象;謝謝閱讀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)一。感謝閱讀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ù)的合法性檢查應由函數(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ù)中,而不必單獨存在;謝謝閱讀13)減少函數(shù)本身或函數(shù)間的遞歸調(diào)用。除非為某些算法或功能的實現(xiàn)方便,應減少沒必要的遞歸調(diào)用;感謝閱讀14)仔細分析模塊的功能及性能需求,并進一步細分,若有必要畫出有關數(shù)據(jù)流圖,據(jù)此來進行模塊的函數(shù)劃分與組織;謝謝閱讀15)對于提供了返回值的函數(shù),在引用時最好使用其返回值;謝謝閱讀16)當一個過程(函數(shù))中對較長變量(一般是結(jié)構(gòu)的成員)有較多引用時,可以用一個意義相當?shù)暮甏?。感謝閱讀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)測開關);精品文檔放心下載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)某部分代碼的調(diào)測,針對模塊或系統(tǒng)某功能的調(diào)測,對性能、容量等的測試;感謝閱讀12)編寫防錯程序,然后在處理錯誤之后可用斷言宣布發(fā)生錯誤.謝謝閱讀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),提高程序效率;感謝閱讀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)不要一味地追求緊湊的代碼,因為緊湊的代碼并不代表高效的機器碼。精品文檔放心下載9、質(zhì)量保證1)在軟件設計過程中構(gòu)筑軟件質(zhì)量;2)代碼質(zhì)量保證優(yōu)先原則(1)正確性,指程序要實現(xiàn)設計要求的功能;(2)穩(wěn)定性/安全性,指程序穩(wěn)定、可靠、安全;(3)可測試性,指程序要具有良好的可測試性;(4)規(guī)范/可讀性,指程序書寫風格、命名規(guī)則等要符合規(guī)范;感謝閱讀(5)全局效率,指軟件系統(tǒng)的整體效率;(6)局部效率,指某個模塊、子模塊、函數(shù)的本身效率;感謝閱讀(7)個人表達方式,指個人編程習慣。3)只引用屬于自己的存貯空間;4)防止引用已經(jīng)釋放的內(nèi)存空間;5)過程/函數(shù)中分配的內(nèi)存,在過程/函數(shù)退出之前要釋放;感謝閱讀6)過程/函數(shù)中申請的(為打開文件而使用的)文件句柄,在過程/函數(shù)退出之前要關閉;謝謝閱讀7)防止內(nèi)存操作越界;8)認真處理程序所能遇到的各種出錯情況;9)系統(tǒng)運行之初,要初始化有關變量及運行環(huán)境,防止未經(jīng)初始化的變量被引用,精品文檔放心下載并對加載到系統(tǒng)中的數(shù)據(jù)進行一致性檢查;10)嚴禁隨意更改其它模塊或系統(tǒng)(不屬于自己)的有關設置和配置,不能隨意改變與其它模塊的接口;謝謝閱讀11)注意易混淆的操作符。當編完程序后,應從頭至尾檢查一遍這些操作符,以防止拼寫錯誤;謝謝閱讀12)有可能的話,if語句盡量加上else分支,對沒有else分支的語句要小心對待。switch語句必須有default分支;謝謝閱讀13)不使用與硬件或操作系統(tǒng)關系很大的語句,而使用建議的標準語句,以提高軟件的可移植性和可重用性;謝謝閱讀14)精心構(gòu)造算法,并對其性能、效率進行測試,對較關鍵的算法最好使用其它算法來確認;謝謝閱讀15)注意表達式是否會上溢、下溢,使用變量時要注意其邊界值;精品文檔放心下載16)系統(tǒng)應具有一定的容錯能力,對一些錯誤事件(如用戶誤操作等)能進行自動補救;感謝閱讀17)對一些具有危險性的操作代碼要仔細考慮,防止對數(shù)據(jù)、硬件等的安全構(gòu)成危害,以提高系統(tǒng)的安全性。謝謝閱讀10、代碼編輯、編譯與審查1)同產(chǎn)品軟件(項目組)內(nèi),最好使用相同的編輯器,并使用相同的設置選項;感謝閱讀2)打開編譯器的所有告警開關對程序進行編譯;3)通過代碼走讀及審查方式對代碼進行檢查;4)編寫代碼時要注意隨時保存,并定期備份,防止由于斷電、硬盤損壞等原因造成代碼丟失;感謝閱讀5)某些語句經(jīng)編譯后產(chǎn)生告警,如果你認為它是正確的,那么應通過某種手段去掉告警信息;精品文檔放心下載6)使用代碼檢查工具對源程序檢查,使用軟件工具進行代碼審查。謝謝閱讀11、代碼測試與維護1)單元測試要求至少達到語句覆蓋;2)整理或優(yōu)化后的代碼要經(jīng)過審查及測試;3)代碼版本升級要經(jīng)過嚴格測試;4)使用工具軟件對代碼版本進行維護;5)正式版本上軟件的任何修改都應有詳細的文檔記錄;6)發(fā)現(xiàn)錯誤立即修改,并且要記錄下來;7)關鍵的代碼在匯編級跟蹤;8)仔細設計并分析測試用例,使測試用例覆蓋盡可能多的情況,以提高測試用例的效率;感謝閱讀9)盡可能模擬出程序的各種出錯情況,對出錯處理代碼進行充分的測試;謝謝閱讀10)仔細測試代碼處理數(shù)據(jù)、變量的邊界情況;11)保留測試信息,以便分析、總結(jié)經(jīng)驗及進行更充分的測試;感謝閱讀12)不應通過“試"來解決問題,應尋找問題的根本原因;謝謝閱讀13)對自動消失的錯誤進行分析,搞清楚錯誤是如何消失的;謝謝閱讀14)測試時應設法使很少發(fā)生的事件經(jīng)常發(fā)生;15)明確模塊或函數(shù)處理哪些事件,并使它們經(jīng)常發(fā)生;謝謝閱讀16)堅持在編碼階段就對代碼進行徹底的單元測試,不要等以后的測試工作來發(fā)現(xiàn)問題;感謝閱讀17)去除代碼運行的隨機性,讓函數(shù)運行的結(jié)果可預測,并使出現(xiàn)的錯誤可再現(xiàn)。精品文檔放心下載數(shù)據(jù)庫設計原則數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的核心和基礎,它要求對于指定的應用環(huán)境,構(gòu)造出較優(yōu)的數(shù)據(jù)庫模式,建立起數(shù)據(jù)庫應用系統(tǒng),并使系統(tǒng)能有效地存儲數(shù)據(jù),滿足用戶的各種應用需求.感謝閱讀1、設計數(shù)據(jù)庫之前1)理解客戶需求,詢問用戶如何看待未來需求變化.讓客戶解釋其需求,而且隨著開發(fā)的繼續(xù),還要經(jīng)常詢問客戶以保證其需求仍然在開發(fā)的目的之中;感謝閱讀2)了解企業(yè)業(yè)務,在以后的開發(fā)階段節(jié)約大量時間;3)重視輸入輸出。在定義數(shù)據(jù)庫表和字段需求(輸入)時,首先應檢查現(xiàn)有的或者已經(jīng)設計出的報表、查詢和視圖(輸出),以決定為了支持這些輸出哪些是必要的表和字段;感謝閱讀4)創(chuàng)建數(shù)據(jù)字典和E-R圖,對SQL表達式的文檔化來說這是完全必要的;謝謝閱讀5)定義標準的對象命名規(guī)范。2、表與字段的設計1)表設計原則(1)標準化和規(guī)范化;數(shù)據(jù)的標準化有助于消除數(shù)據(jù)庫中的數(shù)據(jù)冗余.標準化有好幾種形式,但ThirdNormalForm(3NF)通常被認為在性能、擴展性和數(shù)據(jù)完整性方面達到了最好平衡。事實上,為了效率的緣故,對表不進行標準化有時也是必要的.感謝閱讀(2)采用數(shù)據(jù)驅(qū)動,增強系統(tǒng)的靈活性與擴展性;(3)在設計數(shù)據(jù)庫的時候考慮到哪些數(shù)據(jù)字段將來可能會發(fā)生變更。謝謝閱讀2)字段設計原則(1)每個表中都應該添加的3個有用的字段;①dRecordCreationDate,在SQLServer下默認為GETDATE();精品文檔放心下載②sRecordCreator,在SQLServer下默認為NOTNULL精品文檔放心下載DEFAULTUSER;③nRecordVersion,記錄的版本標記,有助于準確說明記錄中出現(xiàn)null數(shù)據(jù)或者丟失數(shù)據(jù)的原因。精品文檔放心下載(2)對地址和電話采用多個字段,電話號碼和郵件地址最好擁有自己的數(shù)據(jù)表,其間具有自身的類型和標記類別;感謝閱讀(3)使用角色實體定義屬于某類別的列,創(chuàng)建特定的時間關聯(lián)關系,從而可以實現(xiàn)自我文檔化;謝謝閱讀(4)選擇數(shù)字類型和文本類型要盡量充足,否則無法進行計算操作;謝謝閱讀(5)增加刪除標記字段。在關系數(shù)據(jù)庫里不要單獨刪除某一行,而在表中包含一個“刪除標記”字段,這樣就可以把行標記為刪除。精品文檔放心下載3、鍵和索引1)鍵選擇原則(1)鍵設計4原則①所有的鍵都必須唯一;②為關聯(lián)字段創(chuàng)建外鍵;③避免使用復合鍵;④外鍵總是關聯(lián)唯一的鍵字段。(2)使用系統(tǒng)生成的主鍵,控制數(shù)據(jù)庫的索引完整性,并且當擁有一致的鍵結(jié)構(gòu)時,找到邏輯缺陷很容易;精品文檔放心下載(3)不要用用戶的鍵,通常情況下不要選擇用戶可編輯的字段作為鍵;謝謝閱讀(4)可選鍵有時可作主鍵,能擁有建立強大索引的能力。謝謝閱讀2)索引使用原則索引是從數(shù)據(jù)庫中獲取數(shù)據(jù)的最高效方式之一,絕大多數(shù)的數(shù)據(jù)庫性能問題都可以采用索引技術(shù)得到解決。謝謝閱讀(1)邏輯主鍵使用唯一的成組索引,對系統(tǒng)鍵(作為存儲過程)采用唯一的非成組索引,對任何外鍵列采用非成組索引??紤]數(shù)據(jù)庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用于讀寫;精品文檔放心下載(2)大多數(shù)數(shù)據(jù)庫都索引自動創(chuàng)建的主鍵字段,但是不能忘了索引外鍵,它們也是經(jīng)常使用的鍵;精品文檔放心下載(3)不要索引memo/note字段,不要索引大型字段,這樣會讓索引占用太多的存儲空間;精品文檔放心下載(4)不要索引常用的小型表,不要為小型數(shù)據(jù)表設置任何鍵,尤其當它們經(jīng)常精品文檔放心下載有插入和刪除操作時。4、數(shù)據(jù)完整性設計1)完整性實現(xiàn)機制(1)實體完整性:主鍵(2)參照完整性①父表中刪除數(shù)據(jù):級聯(lián)刪除,受限刪除,置空值;②父表中插入數(shù)據(jù):受限插入,遞歸插入;③父表中更新數(shù)據(jù):級聯(lián)更新,受限更新,置空值。DBMS對參照完整性可以有兩種方法實現(xiàn):外鍵實現(xiàn)機制(約束規(guī)則)和觸發(fā)器實現(xiàn)機制。精品文檔放心下載(3)用戶定義完整性:NOT NULL,CHECK,觸發(fā)器。謝謝閱讀2)用約束而非商務規(guī)則強制數(shù)據(jù)完整性;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

提交評論