軟件開發(fā)規(guī)范_第1頁
軟件開發(fā)規(guī)范_第2頁
軟件開發(fā)規(guī)范_第3頁
軟件開發(fā)規(guī)范_第4頁
軟件開發(fā)規(guī)范_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、項(xiàng)目組 軟件開發(fā)行為規(guī)范僅供信息化部使用僅供信息化部使用1 概述編寫目的為了把公司已經(jīng)發(fā)布的軟件開發(fā)過程規(guī)范有效地運(yùn)作于產(chǎn)品開發(fā)活動(dòng)中,把各種規(guī)范“逐步形成工程師的作業(yè)規(guī)范”,特制定本軟件開發(fā)行為規(guī)范,以到達(dá)提高系統(tǒng)質(zhì)量的目的。在本規(guī)范中,闡述了基本的開發(fā)模式,包括需求驗(yàn)證、設(shè)計(jì)、編碼規(guī)范、代碼審查、單元測(cè)試、配置管理等,并明確開發(fā)過程中的方法、策略、工具以及環(huán)境要求,開發(fā)人員都必須遵守本軟件開發(fā)規(guī)范。讀者對(duì)象本規(guī)范讀者對(duì)象為軟件開發(fā)項(xiàng)目管理者、項(xiàng)目經(jīng)理、開發(fā)組需求評(píng)審過程要求按軟件開發(fā)過程經(jīng)驗(yàn),問題暴露越早越好。因此,在實(shí)施設(shè)計(jì)和編碼前,需對(duì)項(xiàng)目經(jīng)理提供的需求說明文檔進(jìn)行充分的驗(yàn)證,在不明確

2、的需求點(diǎn)上,需要和項(xiàng)目經(jīng)理進(jìn)一步核實(shí),確保對(duì)每個(gè)需求點(diǎn)有清晰、一致的認(rèn)識(shí)和理解。在需求驗(yàn)證的過程中,需按以下檢查點(diǎn)進(jìn)行逐項(xiàng)檢查(包括不限于):所有定義、實(shí)現(xiàn)方法是否清楚地表達(dá)了用戶的原始要求?是否清楚、明確地描述了所有的功能?是否沒有不能理解或造成誤解的描述 ?需求定義是否包含了有關(guān)功能、性能、限制、目標(biāo)、質(zhì)量等方面的所有需求?需求是否可以驗(yàn)證(即是否可以檢驗(yàn)軟件是否滿足了需求)?是否有術(shù)語定義一覽表?是否標(biāo)識(shí)并定義了在將來可能會(huì)變化的需求?各個(gè)需求之間是否一致?是否有沖突和矛盾?是否定義了系統(tǒng)所有的輸入、輸出及其來源?主要為客戶或者其他外部 接口,是否明確定義了輸入?yún)?shù)和輸出參數(shù)?是否說明了

3、如何進(jìn)行系統(tǒng)輸入的合法性檢查?功能性需求是否覆蓋了所有非正常情況的處理?對(duì)異常數(shù)據(jù)產(chǎn)生的結(jié)果是否作了精確的描述?是否充分定義了關(guān)于人機(jī)界面的需求?在不同情況下,是否規(guī)定了系統(tǒng)的響應(yīng)時(shí)間?界面需求是否使軟硬件系統(tǒng)具有兼容性?是否有對(duì)相關(guān)日志做明確要求?以滿足稽核相關(guān)的需要。針對(duì)開發(fā)過程中的需求變更,以上需求驗(yàn)證點(diǎn)同樣適用,并同時(shí)評(píng)估需求變更給當(dāng)前項(xiàng)目的設(shè)計(jì)和開發(fā)帶來的風(fēng)險(xiǎn),包括架構(gòu)、安全、進(jìn)度等方面,以便項(xiàng) 目經(jīng)理進(jìn)行計(jì)劃調(diào)整和安排。工具及環(huán)境在此過程中,使用Excel 對(duì)以上檢查點(diǎn)進(jìn)行跟蹤和標(biāo)記。記錄文檔需check-in 到 svn.評(píng)審?fù)瓿傻男枨笪臋n需check-in 到svn。任何需求變

4、更文檔需check-in 到 svn。登記相關(guān)問題,并跟蹤其狀態(tài)。系統(tǒng)設(shè)計(jì)及評(píng)審過程要求概要設(shè)計(jì)要以軟件需求規(guī)格為基礎(chǔ),必須保證需要實(shí)現(xiàn)的需求規(guī)格已經(jīng)被設(shè)計(jì)。概要設(shè)計(jì)文檔的需涵蓋以下幾方面:涵蓋系統(tǒng)的總體結(jié)構(gòu)、功能。系統(tǒng)共包含哪些模塊,以及模塊之間的關(guān) 系。使閱讀者對(duì)系統(tǒng)有了全局觀。明確系統(tǒng)使用的外部接口和資源。包括外部環(huán)境、第三方接口、第三方技術(shù)架構(gòu)等。模塊設(shè)計(jì)的進(jìn)一步細(xì)化,包括具體的輸入、輸出、處理邏輯、與其他模塊之間的接口等。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),文檔中明確數(shù)據(jù)的物理結(jié)構(gòu)和邏輯結(jié)構(gòu),包括數(shù)據(jù)的存儲(chǔ)方式、緩存策略、備份策略、清理策略等。容災(zāi)設(shè)計(jì),主要指外部資源或接口不可用時(shí),系統(tǒng)如何處理,包括客戶

5、提示信息、錯(cuò)誤現(xiàn)場(chǎng)記錄等。監(jiān)控設(shè)計(jì),針對(duì)系統(tǒng)中的關(guān)鍵業(yè)務(wù),特別是對(duì)實(shí)時(shí)性、準(zhǔn)確性要求較高的功能,需考慮其監(jiān)控指標(biāo)、監(jiān)控方法、業(yè)務(wù)閥值、告警通知的設(shè)計(jì)。安全設(shè)計(jì),在系統(tǒng)概要設(shè)計(jì)中,要充分考慮系統(tǒng)安全方面的設(shè)計(jì),包括數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)攻擊等方面的情況。其他情況,未在以上提及的項(xiàng)目其他情況,可進(jìn)行特別說明。同時(shí),在概要設(shè)計(jì)過程中,需遵循以下原則:當(dāng)需求規(guī)格發(fā)生變更時(shí),必須修訂相關(guān)概要設(shè)計(jì)文檔。在概要設(shè)計(jì)文檔,必須記錄、驗(yàn)證需求和概要設(shè)計(jì)的跟蹤關(guān)系。必須保證概要設(shè)計(jì)文檔和代碼的一致性。當(dāng)發(fā)生設(shè)計(jì)更改時(shí),必須修訂相應(yīng)設(shè)計(jì)文檔。概要設(shè)計(jì)過程結(jié)束前,必須通過評(píng)審,并保存評(píng)審記錄。設(shè)計(jì)更改必須經(jīng)過相關(guān)評(píng)

6、審,并保存評(píng)審記錄。在概要設(shè)計(jì)評(píng)審階段,可按以下檢查點(diǎn)進(jìn)行逐項(xiàng)驗(yàn)證(包括但不限于)1、是否描述了接口的功能特征?2、接口是否便于查錯(cuò)?3、接口相互之間、和其他模塊、和需求說明書及接口規(guī)格書保持一致?4、對(duì)接口的數(shù)量和復(fù)雜度進(jìn)行了有效的平衡,使接口數(shù)量控制在一個(gè)較小數(shù)量,每個(gè)接口具有可接受的復(fù)雜度?5、是否所有的接口都能描述了必要的類型、數(shù)量、質(zhì)量等信息?6、操作界面是否考慮了用戶(例如:提供準(zhǔn)確、清晰、有用的提示信息)7、是否模塊化設(shè)計(jì)?8、模塊遵循高內(nèi)聚、低耦合的原則?9、是否每一部分的設(shè)計(jì)都可以追溯到需求說明書,接口規(guī)格說明書、或其他產(chǎn)品文檔?10、 對(duì)所繼承下來的那些特別和不常用的特性對(duì)

7、目前設(shè)計(jì)的影響是否進(jìn)行了分析?11、需求規(guī)格評(píng)審中不完整的需求是否都已經(jīng)解決?12、設(shè)計(jì)是否考慮了檢錯(cuò)和恢復(fù)措施?(例如:輸入檢查,數(shù)據(jù)錯(cuò)誤后如何恢復(fù))13、是否考慮了異常情況?14、是否完全準(zhǔn)確描述了所有的出錯(cuò)情況?15、設(shè)計(jì)是否能夠滿足所有系統(tǒng)集成方面的要求?3.3 工具及環(huán)境概要設(shè)計(jì)文檔及其評(píng)審文檔需check-in 到 svn 中。概要設(shè)計(jì)過程中的問題跟蹤需記錄。系統(tǒng)實(shí)現(xiàn)過程要求編碼必須以設(shè)計(jì)文檔為基礎(chǔ),必須保證所有的設(shè)計(jì)都被編碼實(shí)現(xiàn)。當(dāng)設(shè)計(jì)發(fā)生變更時(shí),必須修改相關(guān)代碼。同時(shí)必須保證設(shè)計(jì)文檔和代碼的一致性。當(dāng)代碼的修改已經(jīng)造成設(shè)計(jì)更改時(shí),必須修訂相應(yīng)設(shè)計(jì)文檔。在系統(tǒng)實(shí)現(xiàn)過程中,需遵循以

8、下規(guī)范:遵照各項(xiàng)編碼規(guī)范。所有代碼使用svn 進(jìn)行統(tǒng)一管理,并至少提供開發(fā)、測(cè)試、生產(chǎn)三種構(gòu)建腳本。在系統(tǒng)開始之前,需在svn 上創(chuàng)建對(duì)應(yīng)的分支,開發(fā)工作統(tǒng)一在分支上進(jìn)行。針對(duì)開發(fā)任務(wù)的分解,需要參照單人單任務(wù)在兩天以內(nèi)完成的標(biāo)準(zhǔn)。開發(fā)過程中,單元測(cè)試通過的代碼需要及時(shí)check-in 到 svn。代碼進(jìn)入系統(tǒng)測(cè)試前需進(jìn)行評(píng)審,可以是集中評(píng)審或者交叉評(píng)審的方式。評(píng)審內(nèi)容包括基本編碼規(guī)范、基本邏輯、日志規(guī)范、出錯(cuò)處理等。單元測(cè)試的覆蓋率需在80%以上。具體的單元測(cè)試要點(diǎn)如下:對(duì)所測(cè)模塊的數(shù)據(jù)進(jìn)行測(cè)試。檢查不正確或不一致的數(shù)據(jù)類型說明、使用尚未附值或尚未初始化的變量、錯(cuò)誤的初始值或缺省值。設(shè)計(jì)測(cè)試

9、用例查找由于不正確的計(jì)算(包括算法錯(cuò)、表達(dá)式符號(hào)表示不正確、運(yùn)算精度不夠等)、 不正確的比較或不正常的控制流(包括不同數(shù)據(jù)類型量的相互比較、不適當(dāng)?shù)匦薷牧搜h(huán)變量、錯(cuò)誤的或不可能的循環(huán)終止條件等)而導(dǎo)致的錯(cuò)誤。檢查模塊有沒有對(duì)預(yù)見錯(cuò)誤的條件設(shè)計(jì)比較完善的錯(cuò)誤處理功能,保證其邏輯上的正確性。邊界檢查,注意設(shè)計(jì)數(shù)據(jù)、控制中剛好等于、大于或小于確定的比較值的用例。開發(fā)過程中,需進(jìn)行持續(xù)化構(gòu)建,保證check-in 的代碼質(zhì)量。項(xiàng)目中引進(jìn)的新技術(shù)需經(jīng)過統(tǒng)一評(píng)審。測(cè)試過程要求在系統(tǒng)交付給測(cè)試組進(jìn)行測(cè)試前,開發(fā)人員需在內(nèi)部進(jìn)行第一輪功能測(cè)試。測(cè)試過程中需保持測(cè)試代碼的準(zhǔn)確性和測(cè)試環(huán)境的獨(dú)立性。具體測(cè)試內(nèi)容

10、包含但不限于以下幾方面:功能測(cè)試。對(duì)照需求文檔中的功能點(diǎn),對(duì)系統(tǒng)的功能進(jìn)行測(cè)試驗(yàn)證,確保系統(tǒng)完全滿足需求文檔中的要求。平臺(tái)兼容性測(cè)試。在不同的瀏覽器、硬件配置環(huán)境下進(jìn)行測(cè)試,主要瀏覽器包括 Firefox,safari,IE, chrome 。針對(duì)移動(dòng)端,需涵蓋三個(gè)主流操作系統(tǒng), iOS, Android 和 Windows Mobile 。 硬件兼容性則包括不同的智能終端,PC,MAC,IPAD等其他機(jī)型的不同分辨率下的兼容性測(cè)試。3不同網(wǎng)絡(luò)環(huán)境下測(cè)試。針對(duì)移動(dòng)端的應(yīng)用,驗(yàn)證不同網(wǎng)絡(luò)環(huán)境下,終端應(yīng)用功能與性能方面是否正常( 數(shù)據(jù)業(yè)務(wù)是否會(huì)中斷,業(yè)務(wù)模塊是否出現(xiàn)異常)4G信號(hào),3G 信號(hào),2G

11、強(qiáng)信號(hào)。開發(fā)計(jì)劃過程要求軟件開發(fā)是一項(xiàng)復(fù)雜、長(zhǎng)期的系統(tǒng)工程,為保證開發(fā)能夠順利地進(jìn)行實(shí)施,必須要制定科學(xué)、合理、切實(shí)可行的實(shí)施計(jì)劃,制定嚴(yán)格的時(shí)間進(jìn)度表,明確各個(gè)環(huán)節(jié)實(shí)施的時(shí)間,以指導(dǎo)和控制項(xiàng)目的全面實(shí)施。在系統(tǒng)實(shí)現(xiàn)過程中,需遵循以下規(guī)范:軟件項(xiàng)目計(jì)劃必須以產(chǎn)品/軟件的需求規(guī)格為基礎(chǔ)。當(dāng)發(fā)生需求更改時(shí),必須修訂軟件開發(fā)計(jì)劃。對(duì)于軟件項(xiàng)目計(jì)劃中各項(xiàng)工作產(chǎn)品和工作任務(wù),必須進(jìn)行規(guī)模和工作量的軟件估計(jì),并在軟件項(xiàng)目計(jì)劃文檔中記錄估計(jì)的方法和估計(jì)數(shù)據(jù)對(duì)某項(xiàng)工作產(chǎn)品和任務(wù)的軟件,同時(shí)采用兩種或以上的方法進(jìn)行估計(jì),以避免一種方法的偏差盡量采用歷史經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行軟件估計(jì)在“軟件開發(fā)計(jì)劃”中須包括項(xiàng)目管理活動(dòng)的

12、計(jì)劃在“軟件開發(fā)計(jì)劃”包括人員的培訓(xùn)計(jì)劃在 “軟件開發(fā)計(jì)劃”中應(yīng)考慮軟件項(xiàng)目進(jìn)行風(fēng)險(xiǎn)分析與評(píng)估,可能存在的風(fēng)險(xiǎn)領(lǐng)域含:需求的不明確和變更、外部的限制與對(duì)外的依賴、人力資源的到位情況、人力資源的技術(shù)等級(jí)滿足要求狀況、技術(shù)問題等,造成的計(jì)劃變更。在開發(fā)活動(dòng)中,必須按照項(xiàng)目跟蹤與監(jiān)控計(jì)劃和體制,對(duì)照“軟件開發(fā)計(jì)劃”,跟蹤項(xiàng)目開發(fā)的實(shí)際結(jié)果和性能。當(dāng)實(shí)際結(jié)果和 “軟件項(xiàng)目計(jì)劃”發(fā)生偏離時(shí),必須進(jìn)行分析,根據(jù)分析結(jié)果標(biāo)明糾正措施。必要的情況下,要及時(shí)修訂“軟件項(xiàng)目計(jì)劃”在軟件項(xiàng)目跟蹤監(jiān)控活動(dòng)中,必須定期進(jìn)行總結(jié)和評(píng)審,撰寫開發(fā)狀態(tài)報(bào)告。根據(jù)項(xiàng)目的特點(diǎn),報(bào)告的周期可以為周、雙周、月。7 數(shù)據(jù)安全7.1 過程要求21 世紀(jì)是一個(gè)信息爆炸的時(shí)代,數(shù)據(jù)是信息的主要載體,數(shù)據(jù)安全保證了信息的可用性。 而數(shù)據(jù)備份作為保證數(shù)據(jù)安全的方法之一,則顯得尤為重要。數(shù)據(jù)安全不僅在防范計(jì)算機(jī)病毒、系統(tǒng)漏洞中有體現(xiàn),更多的還有代碼安全,數(shù)據(jù)庫防脫庫及數(shù)據(jù)庫備份安全。在系統(tǒng)實(shí)現(xiàn)過程中,需遵循以下規(guī)范:加強(qiáng)開發(fā)人員安全意識(shí)培訓(xùn),近年來的一系列企業(yè)泄密事件的發(fā)生,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論