(檔案管理)軟件開發(fā)和文檔編制管理程序_第1頁
(檔案管理)軟件開發(fā)和文檔編制管理程序_第2頁
(檔案管理)軟件開發(fā)和文檔編制管理程序_第3頁
(檔案管理)軟件開發(fā)和文檔編制管理程序_第4頁
(檔案管理)軟件開發(fā)和文檔編制管理程序_第5頁
免費預(yù)覽已結(jié)束,剩余32頁可下載查看

下載本文檔

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

文檔簡介

1、QG湖南計算機股份有限公司管珥QG/PLA 07.02-2002軟件開發(fā)和文檔編制管理程序2005-03-25 發(fā)布2005-03-28實施湖南計算機股份有限公司發(fā)布湖南計算機股份有限公司管理標(biāo)準(zhǔn)軟件開發(fā)和文檔編制程序l范圍本標(biāo)準(zhǔn)規(guī)定了軟件產(chǎn)品開發(fā)研制過程質(zhì)量職責(zé)及控制要求。本標(biāo)準(zhǔn)適用于本公司研制的計算機各類型軟件的管理。2引用標(biāo)準(zhǔn)GB8567 88 計算機軟件產(chǎn)品開發(fā)文件編制指南3定義不需用。4職責(zé)4.1 設(shè)計部門負責(zé)人批準(zhǔn)軟件開發(fā)項目任務(wù)書。4.2 技術(shù)發(fā)展部負責(zé)組織對公司下達的軟件項目進行各階段的評審。4.3 物流部經(jīng)理負責(zé)組織項目的最終檢測。4.4 項目負責(zé)人負責(zé)組織對軟件項目的各階段

2、進行考核、質(zhì)量控制、組織接口 協(xié)調(diào)文檔的發(fā)布批準(zhǔn)及文檔更改審批。4.5 項目負責(zé)人(軟件負責(zé)人)負責(zé):a、制定軟件課題開發(fā)計劃和進度安排及資源需求;b、進行總體設(shè)計;c、提供階段評審資料;d、協(xié)調(diào)技術(shù)接口。4.6 標(biāo)準(zhǔn)檔案室管理員負責(zé)文檔的存貯、保管和處理。5 工作程序與要求5.1 公司下達的軟件項目立項后,由技術(shù)發(fā)展部下達新產(chǎn)品研制任務(wù)書。5.2 軟件項目5.2.1 公司立項項目由技術(shù)發(fā)展部負責(zé)組織評審。a 、項目負責(zé)人(軟件負責(zé)人)于評審前3 天填寫 評審申請表 ,并備齊評審資料,交技術(shù)發(fā)展部。b 、技術(shù)發(fā)展部審批評審申請表,并將有關(guān)資料提前3-5 天下發(fā)評審組成員以供分工審閱,c 、評審

3、組長主持評審會,并填寫 評審報告 ;評審結(jié)束,技術(shù)發(fā)展部負責(zé)收回評審資料交項目組存檔。5.2.2 凡上級下達的項目,若上級部門(或系統(tǒng)組織單位)對評審另有要求時,則按其執(zhí)行;否則,按5.2.1 條執(zhí)行。5.2.4 若項目既有軟件開發(fā),又有硬件開發(fā),其評審是分開(軟件、硬件)還是合并進行,由設(shè)計部門負責(zé)人決定。5.3 軟件項目的檢測5. 3. 1項目負責(zé)人負責(zé)組織完成下述工作。a、測試階段的檢測;b、軟件課題的系統(tǒng)檢測;c、軟件版本存檔前的檢測。對以上測試發(fā)現(xiàn)的問題,由項目組填寫 軟件測試修改單 ,經(jīng)分析原因和采取糾正措施及回歸測試后,由項目負責(zé)人審批,方可列入正式版本。5. 3. 2 物流部經(jīng)

4、理負責(zé)組織軟件版本存檔前的最終檢測,并在 版本送檢(啟用)通知單 上簽署檢測結(jié)果。5. 4 設(shè)計部門負責(zé)人批準(zhǔn)軟件項目開發(fā)計劃。1.5 設(shè)計部門負責(zé)人審批各項目負責(zé)人資格,并負責(zé):a 、考核各階段的進度完成情況;b、及時協(xié)調(diào)開發(fā)中組織接口及計劃修改;c 、控制項目開發(fā)各階段的設(shè)計輸入、設(shè)計輸出、技術(shù)狀態(tài)和各階段的 證 , 并對軟件的正確性、文檔的完整性負責(zé)。1.6 項目負責(zé)人(軟件負責(zé)人)負責(zé)組織:a 、制定項目開發(fā)計劃,若軟件、硬件相結(jié)合的,其計劃也可合并制定。開發(fā)計劃須明確劃分各開發(fā)階段,并可按開發(fā)階段進行自主開發(fā);b 、總體設(shè)計;c 、提供各階段文檔(包括評審文檔),并于鑒定后一周內(nèi)存入

5、標(biāo)準(zhǔn)檔案室;d 、組織軟件( 版本 ) 檢測,并對檢測結(jié)果負責(zé);e 、協(xié)調(diào)技術(shù)接口;f 、定期填報工作進度,若進度計劃需修改,應(yīng)在報表中申述(進度報表既可按月也可按項目分階段填報)。1.7 軟件的交付管理按 版本啟用 / 存檔細則 執(zhí)行。1.8 軟件版本管理1.8.1 應(yīng)顧客需要進行軟件版本升級或修訂時,設(shè)計部門負責(zé)人確定項目負責(zé)人,組織軟件人員實施。1.8.2 軟件負責(zé)人發(fā)出 版本送檢(啟用)通知單 升級的版本由物流部組織檢測合格后,由軟件負責(zé)人將新版本存入標(biāo)準(zhǔn)檔案室;并在 版本檔案 中詳細記錄升級內(nèi)容,存入項目檔案中。1.8.3 技術(shù)人員在為顧客服務(wù)的現(xiàn)場,遇到需要版本修訂時,應(yīng)先電告項目

6、負責(zé)人,經(jīng)認(rèn)可后,回廠填寫 用戶服務(wù)檔案 ,必要時項目負責(zé)人應(yīng)組織評審和檢測。1.9 文檔要求1.9.1 各階段需具備的基本文檔及文檔格式(見附錄)1.9.2 鑒定需具備的文檔參見附錄。6 支持文件7 記錄版本啟用通知單 用戶服務(wù)檔案 軟件測試修改單7.1 質(zhì)量記錄7.1.1 JL/PLA10.05-20027.1.2 JL/PLA14.00-20027.1.3 JL/PLA07.06-2002以上記錄由標(biāo)準(zhǔn)檔案室保存三年7.2 工作記錄7.2.3 版本檔案以上記錄由標(biāo)準(zhǔn)檔案室保存三年。7.3 附錄附錄一:軟件產(chǎn)品文件表附錄二:版本啟用/存檔實施細則附錄三:概要設(shè)計說明書附錄四:需求說明書附錄

7、五:軟件開發(fā)規(guī)范附錄六:程序設(shè)計若干規(guī)定程序設(shè)計若干規(guī)定附錄一:軟件產(chǎn)品文件表序號文件名稱文件 簡號產(chǎn) 品產(chǎn)品的組成部門成套軟件整件整件軟件1任務(wù)委托書RWO2可行性研究報告KYO3軟件需求說明RXOOO4數(shù)據(jù)要求說明書SYOOO5項目開發(fā)計劃XKO6概要設(shè)計說明書GSOOO7詳細設(shè)計說明書QSo,O°8數(shù)據(jù)庫設(shè)計說明書SGOO°9測試計劃CJOO°10程序CX11測試分析艮告CFOO12用戶手冊YSOO13操作手冊CS°°14程序維護手冊CWOOO15項目開發(fā)總結(jié)報告XZ16使用跆SB17產(chǎn)品標(biāo)準(zhǔn)一18媒體內(nèi)程序/數(shù)據(jù)目錄MM19成套軟件明細

8、表MX20整件明細表MX21成套運用文件清單YQO22整件匯總表ZHOO23鑒定報告JB24用戶反饋信息YX°O25維護記錄文件WJOO26版本更新通知BTOO注:表示必須編制的文件;。表示可根據(jù)產(chǎn)品的需要制定 湖南計算機股份有限公司用戶服務(wù)檔案JL/PLA14.00-2002出差人出差時間出差地點用戶名稱產(chǎn)品名稱版本號實際費用 (元)使用的系統(tǒng)環(huán)境:發(fā)現(xiàn)的問題:解決情況:改動的程序模塊:用戶意見:辦事處意見:處理結(jié)果(回廠后經(jīng)協(xié)調(diào)或評審結(jié)論):湖南計算機股份有限公司版本檔案(工作記錄)編號:產(chǎn)品名稱版本號版本適用范圍源版本取代版本號版本源程序壓縮文件名代碼和提交人提交時間存檔日期配

9、備的輸入方法:修改記錄:備注:軟件測試修改單JL/PLA07.06-2002軟件名稱|測試人|日地測試問題:測試人:日期:原因分析:簽字:日期:糾正措施:簽字:日期:回歸測試:簽字: 日期:審批意見:批準(zhǔn)人:日期:附錄二:版本啟用/存檔實施細則為了規(guī)范版本的管理,減少版本的數(shù)量,文檔資料的管理和保存,文檔的及時更新,以及便于電子化的管理和規(guī)范工作流程,特制定該實施細則、工作流程和任務(wù)項目組人員項目組其他人員品管部技術(shù)經(jīng)理檔案室資料管理員公司副總工程師檔案室資料管理員檔案室資料管理員輸出文檔rv-t_. r、r,、/A*、t,、r所有文檔資料發(fā)行版本版本啟用通知單發(fā)行版本- 源程序 版本啟用通知

10、單發(fā)行版本版本啟用通知單所有又檔資料發(fā)行版本版本啟用通知單所宿文檔資料發(fā)行版本版本啟用通知單版本啟用通知單所肩文檔資料發(fā)行版本版本啟用通知單發(fā)行版本版本啟用通知單版本啟用通知單版本啟用通知單所有文檔資料版本啟用通知單版本啟用通知單版本啟用通知單數(shù)據(jù)庫資料、光盤說明:1 .內(nèi)部測試:進行白盒測試,要求對源程序進行檢查,分析出可能影響的模塊,并對相應(yīng)的模塊進行 測試。2 .外部測試:進行黑盒測試,對整個系統(tǒng)進行測試。3 .審核:檢查文件的完整性和正確性。4 .資料審查:檢查文件的完整性和格式的正確性。5 .批準(zhǔn):審查該版本是否可以發(fā)行。委派他人對提交的文檔進行抽查,驗證其正確性和完備性。6 .編號

11、、錄入數(shù)據(jù)、刻盤:光盤的卷標(biāo)為8位數(shù)字的序列號,在根目錄下建立以版本編號為名稱的子目錄,所有提 交的文檔資料存放在該子目錄中。版本啟用通知單JL/PLA10.05-2002名稱編號狀態(tài)配套版本簡要描述日期光盤編號提交人版本號被取代的 版本編號驗證碼適用范圍編制人測試人資料審查復(fù)制 要求修 改 的 原 因能并原 不合的因測 試 結(jié) 果審核意見批準(zhǔn) 意見說明:欄目描述填寫人備注名稱要求填寫產(chǎn)品的全稱提交人編號由項目編號十分模塊編號+序列號構(gòu)成項目編號由4位數(shù)字構(gòu)成,分模塊編號由2位數(shù)字構(gòu)成,序列號由4位構(gòu)成該版本才匕準(zhǔn)后,編寫編號檔案管理員日期提交的日期提交人版本號提交人資料審查負責(zé)檢查提交文件的

12、完整性,并將版本啟 用單錄入計算機檔案管理員驗證碼要求復(fù)制時能驗證版本正確性的關(guān)鍵數(shù) 據(jù)(代碼和、文件長度等)提交人簡要描述對該版本的簡單描述提交人光盤編號由8位數(shù)字序列號構(gòu)成檔案管理員提交人負責(zé)提交所有的文件主要設(shè)叱適應(yīng)范圍描述適用的用戶和機器的批次提交人狀態(tài)作廢/使用檔案管理員編制人編寫該程序 的人員簽名審核意見對提父的文件負責(zé)對被取代版本已發(fā)行產(chǎn)品的處理意見和該版本的使用時效項目負責(zé)人批準(zhǔn)意見技術(shù)部經(jīng)理修改原因?qū)懨鞲恼说腻e誤或新增的功能提交人不能合并 的原因在原來的版本基礎(chǔ)上產(chǎn)生了一個新版本 時,但應(yīng)乂不能取代原來版本時,必須說 明原因。提交人復(fù)制要求說明發(fā)行版本的格式,版本載體的類型

13、(介質(zhì)),復(fù)制的設(shè)備,復(fù)制的特殊要求提交人配套版本個產(chǎn)品需要幾個軟件構(gòu)成,必須主要 與該版本配套的版本的編號,或關(guān)系用提交人T隔開,與關(guān)系用“,”隔開測試人不能少于兩人測試該版本 的所有人員 的名單,要 求簽名附錄三:概要設(shè)計說明書概述介紹該項目的名稱、任務(wù)提出者、提出的背景,應(yīng)用的目標(biāo)。功能和性能對照軟件需求說明書,來說明系統(tǒng)是如何滿足功能和性能需求的。開發(fā)工具和平臺描述采用何種操作系統(tǒng)平臺、何種編程語言、開發(fā)工具進行開發(fā)??傮w結(jié)構(gòu)設(shè)計用圖表和文字方式說明該系統(tǒng)由幾個模塊構(gòu)成,各模塊的功能、各模塊之間的 關(guān)系。用數(shù)據(jù)流圖描述出數(shù)據(jù)在該系統(tǒng)中的流動過程,在各模塊輸入前和輸出后數(shù)據(jù) 的變換。用程

14、序流程圖描述出主要功能的實現(xiàn)方式。接口設(shè)計外部接口說明該系統(tǒng)同外部所有的接口安排,包括硬件接口、軟件接口、用戶接 口。內(nèi)部接口說明該系統(tǒng)內(nèi)部各個模塊之間的接口安排。系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計邏輯數(shù)據(jù)結(jié)構(gòu)設(shè)計給出該系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)項、記錄、文件的標(biāo)識、定義、長度 以及他們之間的相互關(guān)系。物理數(shù)據(jù)結(jié)構(gòu)設(shè)計給出系統(tǒng)中的數(shù)據(jù)的存儲要求和訪問方式、和存儲介質(zhì)。系統(tǒng)出錯處理設(shè)計出錯信息用表格形式列出每種可能的出錯或故障情況出現(xiàn)時,系統(tǒng)輸出信息的 形式、含義及處理方法。補救措施說明故障出現(xiàn)后可能采取的變通措施,如后備技術(shù)、降效技術(shù)、恢復(fù)及再啟動技術(shù)等。系統(tǒng)維護設(shè)計說明為了系統(tǒng)維護方便而在程序內(nèi)部設(shè)計中作出的安排

15、,如在程序中專門安排用于系統(tǒng)的檢查與維護的檢測點和專用模塊。關(guān)鍵的技術(shù)和難點描述開發(fā)該系統(tǒng)采用的關(guān)鍵技術(shù)和難點,對關(guān)鍵技術(shù)和難點作出風(fēng)險評估,要求作出相應(yīng)的解決對策,或提出其他的解決方案。交付方式交付的內(nèi)容全部的設(shè)計文件、發(fā)行版本、源程序交付的媒體介質(zhì)紙質(zhì)文件、電子文件、CD FLASH軟盤附錄四:需求說明書簡介介紹該項目的名稱、任務(wù)提出者、提出的背景,應(yīng)用的目標(biāo)詳細需求環(huán)境需求硬件環(huán)境描述運行該軟件需要的設(shè)備能力處理器的速度、數(shù)量和內(nèi)存容量存儲媒體的容量輸入、輸出設(shè)備的種類和數(shù)量通訊網(wǎng)絡(luò)軟件環(huán)境運行該軟件需要的操作系統(tǒng)、數(shù)據(jù)庫軟件、以及相應(yīng)的其他應(yīng)用軟件 人員環(huán)境操作該軟件對人員的要求,人員

16、的素質(zhì)、數(shù)量功能需求對系統(tǒng)中每一個功能,要求用圖示或文字詳細描述:概述一一敘述功能名稱、目標(biāo)和作用輸入一一詳述該功能輸入的信息處理一一描述該功能作什么,如何對輸入信息進行加工并轉(zhuǎn)換成輸出 信息輸出一一詳述該功能輸出的信息內(nèi)部生成數(shù)據(jù)一一列出用戶所關(guān)心的內(nèi)部生成數(shù)據(jù)性能需求定量的描述該軟件系統(tǒng)應(yīng)滿足的具體性能需求 精度說明該軟件系統(tǒng)的精度要求,如:數(shù)據(jù)的精度要求數(shù)字計算的精度要求數(shù)據(jù)轉(zhuǎn)送的誤碼率要求時間特性說明該軟件系統(tǒng)的時間要求,如:解題時間詢問和更新數(shù)據(jù)文件的響應(yīng)時間系統(tǒng)各項功能的順序關(guān)系由于輸入類型的不同和操作方式的變化而引起的優(yōu)先順序在峰值負載期,與所規(guī)定的響應(yīng)時間的允許偏離范圍靈活性說

17、明當(dāng)需求發(fā)生某些變化時該軟件系統(tǒng)的適應(yīng)能力,指出為適應(yīng) 這些變化而需要設(shè)計的軟件成分和過程輸入和輸出描述輸入和輸出的每個數(shù)據(jù)元素,對每個數(shù)據(jù)元素可列出如下信息: 數(shù)據(jù)元素名同義名定義格式值域度量單位數(shù)據(jù)項名、縮寫詞和代碼對于輸入數(shù)據(jù),還要說明時間要求、優(yōu)先順序和輸入媒體。對于輸 出數(shù)據(jù),亦要說明時間要求、優(yōu)先順序和輸出形式,并要描述對特 殊輸入輸出項的保密要求和措施。數(shù)據(jù)庫特性詳細描述數(shù)據(jù)庫中要用到的每個數(shù)據(jù)元素,對每個數(shù)據(jù)元素可列出如下信息:數(shù)據(jù)元素名同義名定義格式值域度量單位數(shù)據(jù)項名、縮寫詞和代碼要根據(jù)記錄的規(guī)模和數(shù)量來估計數(shù)據(jù)存儲要求,并要預(yù)測數(shù)據(jù)的增 長率。故障處理列出在該系統(tǒng)出現(xiàn)故障

18、時,為滿足信息處理要求而可能采取的技術(shù) 措施,如:后備技術(shù)低效技術(shù)再啟動技術(shù)接口說明該軟件系統(tǒng)與其他系統(tǒng)和子系統(tǒng)的接口軟件接口和硬件接口安全和保密說明該軟件系統(tǒng)在安全和保密方面的要求交付方式交付的內(nèi)容全部的設(shè)計文件、發(fā)行版本、源程序交付的媒體介質(zhì)紙質(zhì)文件、電子文件、CD FLASH軟盤附錄五:軟 件 開 發(fā) 規(guī)范軟件開發(fā)的流程和需要的文檔資料同項目開發(fā)類似,在第章中有詳細的描述,在這不再作介紹了,僅介紹與軟件緊密相關(guān)的常用文檔資料的格式模板, 以及編程設(shè)計中的若干規(guī)定常用文檔的格式模板流程圖概述國家標(biāo)準(zhǔn)GB1526-89信息處理一數(shù)據(jù)流程圖、程序流程圖、系統(tǒng)流 程圖、程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖的文

19、件編制符號及約定規(guī)定了信息處 理文件使用的各種符號及其使用的具體約定。要求采用VISIO或SMARTDRAW繪制流程圖。流程圖所用符號及其簡要說明符號符號名簡要說明備注/ / /1/數(shù)據(jù)表示數(shù)據(jù),其中可注明數(shù)據(jù)名、來源、用途或 其他的文字說明。此符號并不限定數(shù)據(jù)的媒體處理表下各種處理功能。符號內(nèi)可注明處理名或其 簡要功能既定處理表示已命名的既定處理。該處理為在另外地方 已得到詳細說明的一個操作或一組操作。例如 子程序、函數(shù)、模塊。符號內(nèi)可注明處理名或 其簡要功能1-!|準(zhǔn)備表示修改一條指令或一組指令以影響隨后的 活動。例如:設(shè)置開關(guān)、修改變址寄存器、初 始化例行程序判斷表不判斷或開關(guān)。符號內(nèi)可

20、注明判斷的條件, 它只有個入口,但可以有若干可以選擇的出 口。在對符號內(nèi)的條件求值后,有一個且只有 一個出口被激活。求值結(jié)果可在表示出口路徑的流線附近寫出并行處理表不同步進行兩個或兩個以上并行方式的操 作。a循環(huán)界限循環(huán)界限由上界限不嚇界限構(gòu)成,分別表不循 環(huán)的開始和結(jié)束。流線表示控制流的流向虛線用于表明被注解的范圍或連接被注解部分與 注解正文 J1連接符用于表明轉(zhuǎn)向流程圖的它處,或從它處轉(zhuǎn)入。 它是流線的斷點。在圓內(nèi)注明某一標(biāo)志符,表 明該流線將在具有相同標(biāo)志符的另一連接符 處繼續(xù)下去。/端點符程序流程的起點或結(jié)束',注解符表不注解的內(nèi)容,虛線須連接到被注解的符號 或符號組合上。一

21、r -省略符若流程圖中有些部分無需給出符號的具體形 式和數(shù)量,可用省略符。省略符應(yīng)夾在流線符號之中。使用約定圖的布局流程圖所用的符號應(yīng)該均勻分布,連線保持合理的長度,并盡量少使用長線符號標(biāo)志符這是賦予某個符號的標(biāo)志符,其作用是便于其他文件中引用該符號。符號標(biāo)志符要寫在符號的左上角。符號描述符它用于交叉引用,表達一個符號的特殊用途,或者進一步理解某個符 號的功能。描述符要寫在符號的右上角。連接的約定標(biāo)準(zhǔn)流向從左至右,自上而下箭頭的使用可隨時在流線上使用箭頭指示方向,當(dāng)流程不是標(biāo)準(zhǔn)流向時,一定要 米用箭頭來指示方向。流線的交叉應(yīng)當(dāng)盡量避免流線的交叉,即使出現(xiàn),交叉的流線之間沒有任何邏輯 關(guān)系,不對

22、流向產(chǎn)生影響。流線的匯集兩根或更多的進入線可以匯集為一根輸出線,各連接點應(yīng)相互錯開以 提高清晰度,并在必要時使用箭頭表示流向?;ミB一般情況下,流線應(yīng)從符號的左邊或頂端進入,從右邊或底端離開。它們都應(yīng)對準(zhǔn)符號的中心。多出口一個符號如有多個出口,應(yīng)按下述方式表示,在每個出口都應(yīng)標(biāo)有適 當(dāng)?shù)臈l件值,以反映它所表示的邏輯路徑。A<BA=B. 比較 A、BA>BCase 2Case 3結(jié)構(gòu)名稱描述名稱定義描述使用特點數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)字典名稱定義描述使用特點數(shù)據(jù)字典和數(shù)據(jù)結(jié)構(gòu)圖可形成交互參照關(guān)系項目計劃表要求采用PROJECT件制作,大致格式如下:項目名稱標(biāo) 識 號任務(wù)工期開始時 間完成時 間提交

23、件負責(zé)人擬制:校對:審核:批準(zhǔn):第頁函數(shù)/過程接口函數(shù)名:必須與源程序中的一致,包括大小寫功能:簡要說明該函數(shù)/過程實現(xiàn)的功能,以及主要的算法,對重要的函數(shù) /過程可采用偽語言進行描述入口參數(shù):對入口參數(shù)作簡要的說明,利用全局變量,則也要說明出口參數(shù):對出口參數(shù)作簡要的說明,改變了全局變量,則也要說明返回值 :對函數(shù)的返回值說明其類型和作用程序設(shè)計的若干規(guī)定這里例舉了 C語言和匯編語言的規(guī)定,其他編程語言應(yīng)參照這些規(guī)定編寫CM見附錄六匯編語言見附錄六附錄六:程序設(shè)計若干規(guī)定引言本文檔描述了項目開發(fā)中的編程標(biāo)準(zhǔn),其目的是提供一個編程的嚴(yán)格規(guī)則,使得程序有統(tǒng)一的風(fēng)格,以便于理解和維護,項目主要由C

24、語言和匯編i言編寫.C語言產(chǎn)生新代碼圖D-1描述了產(chǎn)生笊言新代碼的格式,在寫新代碼之前,程序員必需首先將std.c拷貝到新文件中,然后編輯新文件以提供下列信息.目的提供一個關(guān)于程序的簡要描述.版本狀態(tài)給出當(dāng)日的日期,程序員姓名,創(chuàng)建或修改.輸入列出及描述所有該程序?qū)⑤斎氲淖兞?,描述?yīng)簡要而完全,有必要要描述一個組中不同的元素,或者一個詞的字節(jié)或位,如果沒有輸入變量, 則鍵入 "none".輸出列出及描述所有該函數(shù)的輸出變量,同時描述副作用,如果有的話.限制簡要說明程序的限制,例如數(shù)組長度,算法等等,同時給出對未來版本的建議,如果沒有限制,給出 “ none”錯誤信息描述出錯

25、信息或在出錯時變量的置值,如果沒有的話給出“none” .方法簡單描述程序中所有調(diào)用的算法及方法,如果方法很明顯,則刪去這一項,如果應(yīng)用了復(fù)雜的算法或方程式,請給出解釋及參考.外部變量描述僅列出及描述那些一般不為人所知的變量,如果該函數(shù)不用任何外部變量,給出“none”局部、靜態(tài)、寄存器變量描述列出及描述局部,靜態(tài)寄存器變量,如果一個變量的用途可從其它變量名中明顯地看到,則不必給出解釋,變量名按字典順序列出./*本程序?qū)儆赬XXXXXXX潘司名).作為商品機密*版權(quán)所有, 未經(jīng)許可不得公布或使用.*. 目的 函數(shù)的功能描述. 版本狀態(tài)11-7-90( 程序員姓名) 新代碼. 輸入 列出所有輸入

26、變量和解釋. 輸出 列出所有輸出變量參數(shù)返回值及解釋. 限制 給出使用的算法和處理方法. 錯誤信息描述錯誤信息. 方法 該函數(shù)中用的算法和處理方法. 函數(shù)調(diào)用列出調(diào)用的函數(shù). 外部變量描述所有使用的外部變量. 局部變量描述局部變量. */圖 D-1 C 標(biāo)準(zhǔn)格式(in “ std.c ” )改舊代碼在函數(shù)頭上的所有必要的信息必須修改, 版本狀態(tài)必須包含版本日期, 程序員姓名, 以及版本的簡要描述這種描述必須規(guī)格化, 而且要包含足夠的信息, 以便于對這些修改進行回溯. 版本狀態(tài)列出的順序必須使得最新的版本列在最上邊. 所有其它的信息包括輸入、輸出、限制、以及函數(shù)調(diào)用等等, 必須與最新的版本保持一

27、致.編程常規(guī)下面說明了 C語言指令中的標(biāo)準(zhǔn)結(jié)構(gòu):程序設(shè)計風(fēng)格? 通過空格和空行, 使程序有層次感, 便于閱讀.? 提倡使用C+的語法和程序結(jié)構(gòu).? 所有代碼必須是小寫字符, 以下的例外:1 。常量或宏(用 #define 或 #typedef 在 include 文件中定義的)必須用大寫字母.2。在編譯或連接器中要求大寫的標(biāo)識符或庫函數(shù)名.3。該文本中說明的其它必須大寫的字母.? 代碼盡可能寫得簡單、清晰、將復(fù)雜語句切成幾個簡單的語句以增加可讀性.? 一般將子程序限制在100行以內(nèi) .?對于一個程序只允許一個入口和出口(在有出錯處理等情況下可能允許有若干個出口)? 設(shè)計的子程序必須有一個完整定

28、義的輸出、輸入并且完成一個任務(wù).?將密切相關(guān)的子程序存放在一個文件中.? 程序中盡量不使用直接數(shù), 即盡量不在源程序中出現(xiàn)某個具體的數(shù)值, 相應(yīng)的數(shù)值最好用#define 語句定義成宏, 以便于修改和維護.? 使用統(tǒng)一的工作環(huán)境, 建立子目錄, 各目錄存放指定的內(nèi)容:src ( 源程序存放目錄)doc ( 文檔存放目錄)bin ( 可執(zhí)行程序存放目錄)lib (庫函數(shù)存放目錄)test ( 測試用目錄)inc ( 引用文件存放目錄)personal ( 各人自用目錄)? 使用 make, Makefile 進行編譯, 更新目標(biāo)文件和可執(zhí)行文件.C 庫函數(shù)? 僅使用 Unix System V

29、、 Microsoft C 、 Lattic C 及 Turbo C 編譯器中的庫函數(shù).? 在用 "malloc" 或 "calloc" 申請空間之后, 建議測試一下不為空指針,若使用空指針,通常會導(dǎo)致系統(tǒng)的崩潰,或莫名其妙的錯誤。? 在用 "malloc" 或 "calloc" 申請空間之后, 必須牢記在不需要它們的時候調(diào)用free 釋放空間以便于將來使用空間.類型說明? 類型說明的順序是由短到長:charshortlongfloatdouble? 盡量不使用int, 用 short 或 long 取代 , 以免

30、不同硬件環(huán)境的影響.? 僅僅使用var_style.h 中用 typedef 定義的宏以便共享.變量名變量名的長度沒有限制. 但各個變量的前31個字符必須唯一.( 各系統(tǒng)的狀態(tài)會有變化, 盡可能在開始在第一個字符之前加字節(jié)變量字符變量數(shù)變量, 英文單詞的首字母大寫,后面的字母小寫。對對局部的變量名, 建議遵照下列格式:時區(qū)分變量名). 建議用英文語句的一般風(fēng)格命名變量名 于外部 ( 公共 ) 變量或函數(shù)名bxxx_ 或 xxxx_bcxxx_ 或 xxxx_c ixxx_ 或 xxxx_isxxx_或 xxxx_s字變量lxxx_或 xxxx_l長變量fxxx_或 xxxx_f浮點變量dxxx

31、_或 xxxx_d精變量fpxxx或 xxxx_fp文件指針xpxxx或 xxxx_xp指針變量( 例 :ipxxxx 或 xxxx_ip)注意:變量名不應(yīng)該和當(dāng)前系統(tǒng)采用的編譯器,以及與已知的其他編譯器中已定義的函數(shù)名或C的庫函數(shù)相同,也不應(yīng)與同 C的關(guān)鍵字相同。比如:class不是頒譯器的關(guān)鍵字,但是 C+勺關(guān)鍵字,在用 C扁 譯器開發(fā)的系統(tǒng)中,不能采用class 作為變量名,否則將影響移植性。寄存器變量在程序中找一個頻繁使用的變量(int 或指針類型), 將其定義成寄存器類以加快運行速度,特別適用于循環(huán)變量中。外部變量? 外部變量必須在函數(shù)中以extern 語句說明.? 如果外部變量是數(shù)

32、組, 在外部說明中, 第一維必須為空.? 如果不同類型的變量要組在一起, 用結(jié)構(gòu)取代數(shù)組.? 將外部變量說明成static 類 , 如果它們在一個文件中共享而不被其它文件訪問.常量? 對公共使用的常量, 引用 com_cons.h 中定義的宏.for 循環(huán)對于數(shù)組的處理, 循環(huán)的結(jié)束用"<" 取代 "<=". 例 :int a9;for (i=0;i<9;i+).; .;if_else有 else if 的語句 , 應(yīng)將 if 提上一行, 例如 :if( ) else if 標(biāo)號所有標(biāo)號應(yīng)在第一列開始goto除非絕對必要, 避免使用go

33、todefault在switch語句中將default 放在case的最后break? 在 switch 語句之外盡量少用break.? 在某些循環(huán)中為減少代碼層次可有限地使用break 和 continue.返回 return? 即使不返回任何值, 也應(yīng)在函數(shù)的出口處寫上return 以示函數(shù)出口? 盡量在一個函數(shù)中使用一個return, 個別情況例外( 如有多個錯誤處理時).大括號用大括號將一些語句組在一起小括號用 " () " 避免操作順序的混亂. 特別要注意以下兩點的應(yīng)用(通過例子來說明), 也是程序設(shè)計中經(jīng)常不注意而犯的錯誤:1、 #define x y+3(1)

34、#define x (y+3)(2)按 (1) 的定義z=x/3- z=y+3/3=y+1按 (2) 的定義z=x/3-> z=(y+3)/3=y/3=12、 char *buf;long *plong;plong=(long *)buf+2;(1)plong=(long *)(buf+2);(2)如果 buf=0; 則在 (1) 中 plong=8,(2) 中 plong=2;注釋? 在需要明確程序含義的地方應(yīng)勤于使用注釋, 所有注釋寫成:/*/或 /? 在語句后的注釋必須與語句在同一行:statement /*._ .*/statement /*._ .*/? 如果注釋太長, 超出一

35、行, 應(yīng)將其按如下格式放在語句之前:/*.例如 :.*/如果變量需要注釋, 它們必須一行行地進行說明int i; /*/匯編語言產(chǎn)生新模塊代碼圖D-2描述了產(chǎn)生匯編語言新模塊代碼的格式,在寫新代碼之前,程序員必需首先將 model.asm拷貝到新文件中 . 然后編輯新文件以提供下列信息 目的提供一個關(guān)于程序模塊的簡要描述 版本狀態(tài)給出當(dāng)日的日期, 程序員姓名,版本號。COMMENT %*本程序?qū)儆赬XXXXXXX潘司名).作為商品機密 版權(quán)所有, 未經(jīng)許可不得公布或使用.*. 目的 模塊的功能描述. 版本狀態(tài)11-7-90( 程序員姓名) 新代碼D-2 ASM 標(biāo)準(zhǔn)格式(in “ model.

36、asm ” )產(chǎn)生新的子過程代碼圖D-3描述了產(chǎn)生匯編語言新的子過程代碼的格式,在寫新子過程代碼之前,程序員必需首先將 Pro.asm拷貝到新子過程前. 然后編輯新文件以提供下列信息.子過程名稱給出子過程的名稱功能描述用語言或偽C代碼提供一個關(guān)于該子過程的簡要描述,并且簡要說明子過程的限制版本狀態(tài)和歷史給出當(dāng)日的日期, 程序員姓名.入口參數(shù)有必要描述一個組中不同的元素列出及描述所有該子過程將輸入的變量和寄存器,描述應(yīng)簡要而完全或者一個詞的字節(jié)或位. 如果沒有輸入變量, 則鍵入“ none” .出口參數(shù)列出及描述所有該子過程的輸出變量和寄存器同時描述對全局變量的影響和被破壞的寄存器如果有的話 .

37、 同時還要描述出錯信息或在出錯時變量的值如果沒有的話給出“none默認(rèn)的段寄存器和段名用ASSUME出在該子過程中,默認(rèn)的段寄存器和段名的關(guān)系。COMMENT. 子過程名稱給出子過程的名稱. 功能描述提供一個關(guān)于子過程的簡要描述,并且簡要說明子過程的限制. 版本狀態(tài)和歷史給出當(dāng)日的日期, 程序員姓名. 入口參數(shù)列出及描述所有該子過程將輸入的變量和寄存器. 出口參數(shù)列出及描述所有該子過程的輸出變量和寄存器, 并列出被破壞的寄存器. 默認(rèn)的段寄存器和段名用ASSUME出在該子過程中,默認(rèn)的段寄存器和段名的關(guān)系。%圖 D-3 標(biāo)準(zhǔn)格式(in “ pro.asm ” )修改舊代碼在過程頭上的所有必要的

38、信息必須修改, 版本狀態(tài)必須包含版本日期, 程序員姓名, 以及版本的簡要描述這種描述必須規(guī)格化, 而且要包含足夠的信息, 以便于對這些修改進行回溯. 版本狀態(tài)列出的順序必須使得最新的版本列在最上邊. 所有其它的信息包括輸入、輸出、限制、以及過程調(diào)用等等, 必須與最新的版本保持一致.編程常規(guī)下面說明了匯編語言指令中的標(biāo)準(zhǔn)結(jié)構(gòu):程序設(shè)計風(fēng)格? 應(yīng)該遵照MIRCOSOFT MASM 5.06.0和 TURBO ASMBLE 2.03.0的語言規(guī)范。建議不用簡寫方式.? 在同一子過程中所有代碼必須是統(tǒng)一的小寫字符和大寫字母, 以下的例外:(1) 宏必須用大寫字母.(2) 在編譯或連接器中要求大寫的標(biāo)識符或庫函數(shù)名.(3) 該文本中說明的其它必須大寫的字母.? 對于一個程序只允許一個入口和出口(在有出錯處理等情況下可能允許有若干個出口).? 設(shè)計的子程序必須有一個完整定義的輸出、輸入并且完成一個任務(wù).? 將密切相關(guān)的子程

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論