版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件設(shè)計規(guī)范第一章 概 述一、前言軟件設(shè)計是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重要的環(huán)節(jié),一般會包含以下幾大部分:體系結(jié)構(gòu)設(shè)計、界面設(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計、安全設(shè)計等。軟件設(shè)計的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量。但是,由于各種歷史原因,軟件設(shè)計在開發(fā)中的重要性沒有得到合理的體現(xiàn)。很多軟件的設(shè)計工作都是有名無實,設(shè)計文檔更是五花八門,幾乎完全依賴于設(shè)計人員個人的設(shè)計水平與經(jīng)驗。很多設(shè)計文檔幾乎沒有使用價值,開發(fā)人員都是直接看需求。這樣,最終軟件的質(zhì)量完全依賴于開發(fā)人員。開發(fā)人員水平好,軟件質(zhì)量就高。開發(fā)人員水平差,軟件質(zhì)量就差。為了解決這一問題,制定一份軟件設(shè)計規(guī)范,就成為最好的選
2、擇。從目前的現(xiàn)狀出發(fā),本規(guī)范對軟件設(shè)計過程、設(shè)計方法、設(shè)計工具以及設(shè)計要做到的程度進行了規(guī)定。同時,特別對邏輯設(shè)計進行了詳細規(guī)定,物理設(shè)計在本階段暫不做要求。二、適用范圍本規(guī)范適用于開發(fā)部所負責(zé)的項目,其它部門的項目可進行參考。對于Dotnet技術(shù)類項目,必須全部符合本規(guī)范。對于Dephi技術(shù)類項目,可以進行取舍。對于完全新建項目,必須全部符合本規(guī)范,對于在舊系統(tǒng)之上進行擴展的項目,可以對本規(guī)范進行取舍,對于維護類項目,可以不按本規(guī)范進行。由于項目的特殊原因,可以對設(shè)計過程進行取舍,但不得降低所執(zhí)行設(shè)計過程的規(guī)范要求。一旦設(shè)計過程確認后,必須嚴格執(zhí)行設(shè)計規(guī)范。此規(guī)范的符合,是評審?fù)ㄟ^的唯一依據(jù)
3、。未通過設(shè)計評審的項目,可以繼續(xù)進行后續(xù)工作,但評審委員會不再對此項目的軟件質(zhì)量負責(zé)。三、名詞解釋邏輯設(shè)計:這是微軟對軟件設(shè)計工作的一種劃分方式。是指在需求的基礎(chǔ)上,從業(yè)務(wù)邏輯和當(dāng)前用戶應(yīng)用環(huán)境中抽象出系統(tǒng)對象的組成結(jié)構(gòu)、流程和各個部分相互關(guān)系,另外還要設(shè)計數(shù)據(jù)庫的邏輯結(jié)構(gòu)和界面的邏輯關(guān)系。邏輯設(shè)計是將用戶業(yè)務(wù)語言轉(zhuǎn)化為項目組語言的關(guān)鍵。在邏輯設(shè)計中的對象只是抽象的系統(tǒng)對象,而不是物理實現(xiàn)中采用的類、組件、模塊和頁面。物理設(shè)計:這是微軟對軟件設(shè)計工作的一種劃分方式。是指在邏輯設(shè)計的基礎(chǔ)上,從系統(tǒng)的邏輯對象、數(shù)據(jù)實體和界面邏輯關(guān)系中進一步整理和細化得到的設(shè)計方案。物理設(shè)計將確定系統(tǒng)采用的技術(shù)方案
4、,平臺,并明確實際開發(fā)的組件、數(shù)據(jù)庫表、窗口以及頁面等,并考慮到實現(xiàn)的可能性和最終系統(tǒng)的性能。系統(tǒng):是由相互作用和相互依賴的若干組成部分結(jié)合成的、具有特定功能的有機整體。系統(tǒng)具有三個基本特征。第一,系統(tǒng)是由若干元素組成的;第二,這些元素相互作用、互相依賴;第三,由于元素間的相互作用,使系統(tǒng)作為一個整體具有特定的功能。一個管理軟件系統(tǒng)一般會包含界面、算法、數(shù)據(jù)庫等內(nèi)容。第二章 軟件設(shè)計過程一、設(shè)計階段劃分軟件設(shè)計分為架構(gòu)設(shè)計、邏輯設(shè)計、物理設(shè)計三個階段,其中邏輯設(shè)計和物理設(shè)計分別又分為系統(tǒng)設(shè)計和組件設(shè)計兩個階段。組件設(shè)計分為三部分:界面設(shè)計、業(yè)務(wù)算法設(shè)計、數(shù)據(jù)庫設(shè)計。開發(fā)部的軟件使用統(tǒng)一的軟件架
5、構(gòu),故架構(gòu)設(shè)計不是每一個項目必須要做的,在此不對架構(gòu)設(shè)計進行規(guī)范。對于在統(tǒng)一的軟件架構(gòu)中沒有包含的部分,各項目組可自行增加。軟件設(shè)計過程可用下圖來說明:二、過程裁減在項目開發(fā)過程中,可能由于各種原因需要對設(shè)計過程進行裁減。一般情況下,對于Dotnet技術(shù)類項目,必須全部采用本過程。對于Dephi技術(shù)類項目,可以進行取舍。對于完全新建項目,必須全部采用本過程;對于在舊系統(tǒng)之上進行擴展的項目,可以不進行架構(gòu)設(shè)計和物理設(shè)計;對于維護類項目,可以不采用本過程。由于項目的特殊原因,需要違反以上原則對設(shè)計過程進行裁減時,必須在設(shè)計工作開始前得到開發(fā)部經(jīng)理的認可。第三章 軟件設(shè)計方法開發(fā)部的軟件設(shè)計主要使用
6、兩種設(shè)計方法:自頂向下的設(shè)計方法和面向?qū)ο蟮脑O(shè)計方法。對于Dephi技術(shù)類項目,在得到開發(fā)部經(jīng)理同意的情況下,可以采用結(jié)構(gòu)化的軟件設(shè)計方法。在個別情況特殊的項目中,可以采用自底向上的設(shè)計方法,但必須得到開發(fā)部經(jīng)理的認可。在使用面向?qū)ο蟮姆椒ㄟM行設(shè)計時,必須使用UML語言。在設(shè)計中,應(yīng)盡可能的使用設(shè)計模式,以求得最好的性價平衡。以上兩種設(shè)計方法目前都已為一種工業(yè)標(biāo)準,其詳細情況可參見相關(guān)資料,下面僅做一個簡單介紹。一、自頂向下的軟件設(shè)計方法自頂向下的軟件設(shè)計方法從整體系統(tǒng)角度著重考慮設(shè)計環(huán)節(jié),由上而下有機地將系統(tǒng)分化為多個子系統(tǒng)、再將子系統(tǒng)分化成多個組件,直至分化出明確的類及其公共接口,然后開始
7、編碼。此方法在設(shè)計前需要明確需求,在設(shè)計階段可以不斷驗證實現(xiàn)設(shè)計的可行性。經(jīng)過驗證的、良好的設(shè)計可以有效管理復(fù)雜度,降低自底向上設(shè)計方法中在后期“推倒重建”的風(fēng)險,能讓整個開發(fā)團隊同步進行,適用于總體需求明確,開發(fā)任務(wù)復(fù)雜龐大的項目。二、面向?qū)ο蟮能浖O(shè)計方法面向?qū)ο蟮脑O(shè)計方法是一種工程化規(guī)范,它是一種解決軟件問題的設(shè)計范式,一種抽象的范式。使用這種設(shè)計范式,我們可以用對象來表現(xiàn)問題領(lǐng)域的實體,每個對象都有相應(yīng)的狀態(tài)和行為。面向?qū)ο笤O(shè)計的核心思想是面向自然的設(shè)計,即通過識別和表達出系統(tǒng)中對象、對象間的關(guān)系、對象的狀態(tài)遷移等關(guān)鍵因素,軟件設(shè)計達到自然的、正確的描述目標(biāo)系統(tǒng)的目的,這種自然的設(shè)計忠
8、實反映了目標(biāo)系統(tǒng)中的對象和他們之間的關(guān)系以及他們之間的交互過程,是自然系統(tǒng)到軟件系統(tǒng)的自然的映射。在過去的十多年里,面向?qū)ο蠓椒▽浖袠I(yè)起到了極大的推動作用。在可以預(yù)測的將來,它仍將是軟件設(shè)計的主要方法。第四章 邏輯設(shè)計一、系統(tǒng)設(shè)計此處的系統(tǒng)設(shè)計是確指的系統(tǒng)級的設(shè)計,它以系統(tǒng)做為主要設(shè)計對象,關(guān)注系統(tǒng)可由哪些子系統(tǒng)或模塊構(gòu)成,這些子系統(tǒng)或模塊之間的關(guān)系如何,系統(tǒng)與其它系統(tǒng)之間的接口有哪些,接口之間如何進行通信。系統(tǒng)設(shè)計的要求如下:1、系統(tǒng)如何使用公司的統(tǒng)一架構(gòu),在架構(gòu)不滿足的情況下,如何進行擴充。2、系統(tǒng)可以分為幾個模塊,各個模塊之間關(guān)系如何,模塊是如何通信的。3、每個模塊的外部接口是什么,
9、接口的參數(shù)是什么,返回值是什么。參數(shù)與返回值必須明確定義,不能有二義性。4、如果系統(tǒng)較為龐大,可將系統(tǒng)分為子系統(tǒng)。必須明確定義各個子系統(tǒng)之間的關(guān)系,子系統(tǒng)的設(shè)計要求同系統(tǒng)的設(shè)計要求。5、系統(tǒng)與其它系統(tǒng)的接口有哪些,接口的參數(shù)是什么,返回值是什么。參數(shù)與返回值必須明確定義,不能有二義性。6、系統(tǒng)設(shè)計前,必須編寫軟件功能規(guī)格說明書,以明確功能需求。也可在UML中使用用例圖來描述軟件功能。7、在UML中,繪制包圖,用來表示子系統(tǒng)或模塊;在包圖上繪制類圖,用來表示接口;繪制序列圖,用來描述系統(tǒng)與外部系統(tǒng)之間、子系統(tǒng)之間、模塊之間的通信。8、系統(tǒng)級的業(yè)務(wù)流程用序列圖來描述,業(yè)務(wù)規(guī)則可在序列圖或類圖之上用
10、文本框進行說明。9、系統(tǒng)設(shè)計中所有的交互形為只描述到接口一級。10、在系統(tǒng)設(shè)計中,如果有無法使用UML進行說明的內(nèi)容,可使用其它格式的文檔。但必須將相關(guān)文檔與UML進行鏈接或嵌入。11、系統(tǒng)設(shè)計中不考慮人機交互的設(shè)計。依據(jù)統(tǒng)一的架構(gòu)設(shè)計,公司的軟件采用三層架構(gòu),即界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)庫層。層的設(shè)計工作在系統(tǒng)設(shè)計中進行,但不可將層視為模塊,層高于模塊。系統(tǒng)設(shè)計工作必須到模塊一級,不能只做到層一級。層的設(shè)計程度可參照模塊的設(shè)計程度要求。部分簡單的系統(tǒng),層有可能會和模塊重合。在這種情況下,一層即只有一個模塊。二、組件設(shè)計組件設(shè)計在這里確指的模塊級的設(shè)計,不是層級的設(shè)計。為了方便描述,組件設(shè)計分為
11、三個層說明。組件是面向?qū)ο笏枷氲淖詈皿w現(xiàn),我們可以認為組件即是對象。在組件設(shè)計中,必須遵循以下幾個原則:信息隱藏、強內(nèi)聚、低耦合。1、界面設(shè)計在很多時候,界面設(shè)計的好壞直接影響到軟件的使用情況。架構(gòu)設(shè)計的信息架構(gòu)設(shè)計部分,更是與界面設(shè)計關(guān)系密切。為了有一個良好的人機交互接口,界面設(shè)計工作必須得到高度的重視。界面設(shè)計不只包含軟件使用界面,還應(yīng)包含用戶使用的各種打印、導(dǎo)入、導(dǎo)出報表。在做界面設(shè)計時,必須遵循以下幾個原則:l 用戶界面適合于軟件的功能l 容易理解l 風(fēng)格一致l 及時反饋信息l 出錯處理l 合理的布局l 和諧的色彩界面設(shè)計的要求如下:1、用UML表述界面與人互動的所有接口,包含顯示信息
12、、輸入信息、操作信息。所有的信息必須明確無二義。2、制作可與用戶進行動態(tài)互動的具體界面,優(yōu)先使用開發(fā)語言進行設(shè)計。3、只需設(shè)計到用戶接口即可,不考慮內(nèi)部結(jié)構(gòu)。4、在UML中用序列圖描述各個界面與應(yīng)用服務(wù)接口之間的交互關(guān)系。2、業(yè)務(wù)算法設(shè)計在三層架構(gòu)的系統(tǒng)中,業(yè)務(wù)邏輯在中間的業(yè)務(wù)邏輯層實現(xiàn),而業(yè)務(wù)算法設(shè)計主要用來實現(xiàn)業(yè)務(wù)流程和業(yè)務(wù)規(guī)則,也就是我們常說的業(yè)務(wù)邏輯。所以,業(yè)務(wù)算法設(shè)計,就是指的業(yè)務(wù)邏輯層的設(shè)計。在企業(yè)應(yīng)用軟件中,最復(fù)雜、最容易發(fā)生變化的是業(yè)務(wù)邏輯層。這一層的設(shè)計好壞,直接關(guān)系到今后軟件進行維護、修改、擴展的成本。業(yè)務(wù)算法設(shè)計的要求如下:1、所有的模塊接口必須得到實現(xiàn)。2、設(shè)計必須做到
13、類的公共方法、屬性、事件等。3、在UML中使用類圖來描述業(yè)務(wù)對象。4、必須清楚描述類的關(guān)系:繼承、聚合、組合、引用。5、在UML中,業(yè)務(wù)流程用序列圖來描述,業(yè)務(wù)規(guī)則可在序列圖或類圖之上用文本框進行說明。3、數(shù)據(jù)庫設(shè)計一般來說,我們都會使用關(guān)系型數(shù)據(jù)庫。所以,以下的要求全是針對的關(guān)系型數(shù)據(jù)庫。數(shù)據(jù)庫表可分為以下類型:業(yè)務(wù)數(shù)據(jù)表:記錄業(yè)務(wù)發(fā)生的過程和結(jié)果。如,加油流水、銷售單、出庫單、憑證、業(yè)務(wù)賬。基本編碼表:描述業(yè)務(wù)基本信息和編碼,一般變化很慢。如,油品、組織機構(gòu)、人員。輔助編碼表:描述屬性的列表值。如,銷售類型、付款方式。系統(tǒng)信息表:存放與系統(tǒng)操作、業(yè)務(wù)控制有關(guān)的參數(shù)。如,用戶信息、權(quán)限、用戶
14、配置信息、成本核算方式。累計數(shù)據(jù)表:存放業(yè)務(wù)的當(dāng)前值和累計值。如,當(dāng)前庫存、當(dāng)前存款、累計銷售、累計支出、應(yīng)收賬款。結(jié)算數(shù)據(jù)表:存放各個時期末的結(jié)存數(shù)。如,月末庫存、月末銀行存款、應(yīng)收賬款月結(jié)。決策數(shù)據(jù)表:存放各個時期內(nèi)發(fā)生的統(tǒng)計值。如,月銷售統(tǒng)計、月回款統(tǒng)計、出入庫統(tǒng)計。數(shù)據(jù)庫設(shè)計的要求如下:1、數(shù)據(jù)庫設(shè)計最低要求符合第三范式。2、必須設(shè)計到表、視圖、存儲過程、關(guān)系。2、表的設(shè)計必須明確字段數(shù)據(jù)類型、長度、默認值、是否非空,此類型不必是具體數(shù)據(jù)庫類型。3、存儲過程必須明確參數(shù)和返回值。4、關(guān)系必須明確增、刪、改時的處理方式。5、對于一年內(nèi)記錄會超出百萬的數(shù)據(jù),必須考慮性能的問題。6、表必須有
15、唯一明確業(yè)務(wù)的字段,此字段可以不是主鍵。但應(yīng)盡可能使用本字段作為主健。此字段不允許使用自增字段。三、接口設(shè)計接口設(shè)計是指的系統(tǒng)與外部系統(tǒng)之間和系統(tǒng)各子系統(tǒng)、模塊之間的關(guān)系的設(shè)計。接口設(shè)計工作的好壞,直接左右著系統(tǒng)今后維護和擴展的難易程度,必須高度重視?;谝陨显?,特將接口設(shè)計單獨說明,以強調(diào)其重要性。接口設(shè)計要充分體現(xiàn)強內(nèi)聚低耦合的要求,不能出現(xiàn)到處關(guān)聯(lián)的現(xiàn)象。1、系統(tǒng)外部接口設(shè)計系統(tǒng)外部接口的設(shè)計是所有設(shè)計工作的第一步,只有通過外部接口設(shè)計,才能明確系統(tǒng)的外部邊界。外部接口設(shè)計要求如下:1、明確說明系統(tǒng)與其它系統(tǒng)的數(shù)據(jù)庫、應(yīng)用服務(wù)、界面各個部分之間的接口。2、明確說明每個外部接口是什么,接
16、口的參數(shù)是什么,返回值是什么。參數(shù)與返回值必須明確定義,不能有二義性。3、系統(tǒng)不得通過已設(shè)計的外部接口以外的任何方式進行外部通信。4、接口參數(shù)是復(fù)雜對象、字符串、文件時,必須對這些參數(shù)內(nèi)部結(jié)構(gòu)進行詳細說明。5、在設(shè)計外部接口時,應(yīng)盡量不使用復(fù)雜類型,數(shù)字型、字符串型是首選方案。2、系統(tǒng)內(nèi)部接口設(shè)計系統(tǒng)內(nèi)部接口主要是指的子系統(tǒng)間、層間、模塊間的接口,還會包括系統(tǒng)與所使用的各種硬件設(shè)備之間的通信接口。內(nèi)部接口設(shè)計要求如下:1、內(nèi)部接口主要在子系統(tǒng)間和層間進行設(shè)計,一般情況下不要求模塊間使用獨立的接口進行通信,但必須明確模塊之間的關(guān)聯(lián)關(guān)系。2、明確說明每個內(nèi)部接口是什么,接口的參數(shù)是什么,返回值是什么。參數(shù)與返回值必須明確定義,不能有二義性。3、子系統(tǒng)間和層間不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能算法與應(yīng)用案例研究
- 工業(yè)互聯(lián)網(wǎng)技術(shù)在智能制造領(lǐng)域應(yīng)用效果評估報告
- 2026年化學(xué)實驗操作試題常見化學(xué)實驗安全操作規(guī)范
- 2026年軟件測試工程師面試寶典測試用例答題技巧與評分標(biāo)準
- 2026年生物科技前沿知識模擬試題
- 2026年生物技術(shù)實驗技能考核基因編輯技術(shù)實驗操作題
- 2026年P(guān)MP變更管理與執(zhí)行策略題集
- 2026年制造業(yè)崗候選人庫存管理與周轉(zhuǎn)率提升策略試題
- 2026年數(shù)據(jù)庫系統(tǒng)基礎(chǔ)概念與原理測試題
- 2026年記者心理素質(zhì)提升采訪心理障礙克服與應(yīng)對題集
- GB/T 46886-2025智能檢測裝備通用技術(shù)要求
- 護理護理科研與論文寫作
- 2025年健康體檢中心服務(wù)與質(zhì)量管理手冊
- 2025-2030中國駱駝市場前景規(guī)劃與投資運作模式分析研究報告
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫及完整答案詳解一套
- 鋼結(jié)構(gòu)玻璃雨棚安裝施工方案
- 鄂爾多斯輔警考試題型及答案
- 《中華人民共和國危險化學(xué)品安全法》全套解讀
- 房建工程電氣安裝施工方案
- 同等學(xué)力申碩公共管理真題及答案
- 2025初三英語中考英語滿分作文
評論
0/150
提交評論