第一篇:我總結(jié)的一些軟件開(kāi)發(fā)規(guī)范
我總結(jié)的一些軟件開(kāi)發(fā)規(guī)范
作者:田進(jìn)恩
為了提高軟件開(kāi)發(fā)質(zhì)量,降低開(kāi)發(fā)周期,增強(qiáng)代碼的可重用性和易讀性,使軟件便于維護(hù),開(kāi)發(fā)人員間便于交流和協(xié)作,特總結(jié)出開(kāi)發(fā)規(guī)范,以為參考。
一. 原則:
1. 軟件工程化 2. 模塊化
3. 能簡(jiǎn)單不復(fù)雜 4. 強(qiáng)調(diào)團(tuán)隊(duì)協(xié)作 5. 強(qiáng)調(diào)創(chuàng)新和特色
二. 具體規(guī)范:
1. 命名規(guī)范
命名應(yīng)盡量使用匈牙利命名法,變量名或函數(shù)名中使用大寫字符來(lái)區(qū)分各個(gè)部分,以便于記憶和閱讀。如bPatchMinute, DeleteDirInfo()。全局(包括類中的)變量用長(zhǎng)名字,局部變量用短名字。
類成員變量前一般應(yīng)加上m_,全局變量加上g_,僅與本模塊有關(guān)的變量加上l_,緊接著是變量的類型。整型: n,i 長(zhǎng)整型: l 無(wú)符號(hào)整型: u 無(wú)符號(hào)長(zhǎng)整型:dw 字符: ch 布爾量: b 浮點(diǎn)數(shù): f 雙精度浮點(diǎn): d 字符串: str,lpsz,sz,p,lp,ac, 指針: p 字節(jié)指針: pb 無(wú)符號(hào)指針: pv 字符指針: lpsz 整型指針: lpn 文件指針: fp 如:
m_nTotalNum,m_strPath,m_bRcving,m_fPrice,g_lOpenDate,g_dwCardNo,lpszNameStr, lpnSysDoomType,uMsgID,m_pProgress
局部變量應(yīng)盡量易懂簡(jiǎn)潔,使用常見(jiàn)的變量,如
Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename
臨時(shí)變量,如ltmp,ftmp,tmpStr,tempStr,函數(shù)命名也應(yīng)該見(jiàn)名知意。如CalcAllDataStyle(),ReadDocDataFromTime(),GetIndexInfo()常見(jiàn)的函數(shù)
Init, OpenAll, Create_, Get_, Set_, Read_, Load_, Write_, Start_, Stop_, Check_, Test_, Fill_, Process_, Sort_, Do_, Select_, Is_, Exist_,_Ex。
宏命名和typedef定義類型應(yīng)詳細(xì),避免重復(fù),一律為大寫,如
#define DEL_EMPTY(a){if(a){delete a;a=NULL;}} #define SUCCESS 0 #define FAIL-1
typedef struct { char lpzSource[100];char lpzTitle[100];char lpzURL[194];short nType;long npos;long nlen;}ATTBODY,*LPATTBODY;(指針前加LP)
自定義消息從WM_USER開(kāi)始
#define MYAPP_MESSAGE WM_USER+0x1001
2. 代碼規(guī)范
有些不易理解的變量或函數(shù)應(yīng)作注釋,難懂的代碼要有注解,在文件的開(kāi)始處有該文件的用途描述。一定要保持注釋的一致性。
代碼組織要清晰,{,},(,),if,else,do,while,for,case等要對(duì)應(yīng)整齊,少用空格,縮進(jìn)全部用Tab鍵。變量的定義要集中,函數(shù)間要有空行分開(kāi),一個(gè)程序中的空行數(shù)目最好占8%-16%。多態(tài)函數(shù)和功能相近的函數(shù)集中放在一起。
代碼應(yīng)該簡(jiǎn)潔、清楚并講述了所發(fā)生的一切,我們的目標(biāo)應(yīng)該是寫出最清晰的代碼,而不是最巧妙的代碼。例如如果是MFC多文檔程序,就要嚴(yán)格按照其生成的框架寫代碼。盡量使用編譯器已經(jīng)提供的函數(shù),不必花時(shí)間另行編寫。例如系統(tǒng)已經(jīng)有qsort函數(shù),可直接拿來(lái)排序用。
某些公用代碼要注意多平臺(tái)易移植,最好使用標(biāo)準(zhǔn)C。
代碼的重用要仔細(xì),要將相關(guān)的代碼也拷貝過(guò)來(lái),注意那段代碼也許不適合你的應(yīng)用場(chǎng)合。刪掉從來(lái)沒(méi)有用過(guò)的函數(shù)或變量,大篇幅注釋掉的代碼行也應(yīng)刪除,以免使程序混亂難讀。
3. 工程文件組織規(guī)范
一個(gè)工程往往包含很多很多文件(*.h,*.cpp,*.inc,*.lib,資源文件等),向工程中加入文件或刪除工程中的文件要慎重,避免把工程損壞。工程中不起作用的文件或類應(yīng)刪除,工程目錄下的非工程文件也應(yīng)該移走,保持工程的清潔,避免混淆難于管理。工程文件如果很多,應(yīng)歸類。
在VC環(huán)境下,建議將常用的頭文件全部放入stdafx.h中,而在每個(gè)cpp開(kāi)始處嵌入stdafx.h。避免頭文件的交叉引用,如果有嚴(yán)重的交叉引用,適當(dāng)使用類的聲明。
將獨(dú)立性比較強(qiáng)的模塊抽出來(lái),做成DLL,控件或COM組件,該模塊可單獨(dú)編寫和測(cè)試,也增強(qiáng)了其可重用性。
一個(gè)比較大的工程應(yīng)留有一定的消息接口或插件接口等。
工程的版本控制要嚴(yán)格,版本格式為xx.xx.xx,必要時(shí)使用Build次數(shù)或日期。高版本盡量兼容低版本的用法、數(shù)據(jù)或協(xié)議。
工程的編譯宏定義和工程參數(shù)設(shè)置應(yīng)正確,每作一個(gè)新工程時(shí)應(yīng)檢查工程參數(shù)是否正確。建議字節(jié)對(duì)齊方式為1字節(jié)對(duì)齊。
工程文件應(yīng)經(jīng)常備份,備份時(shí)注明備份日期和主要增加的功能。
4. 類組織規(guī)范
類一般有兩個(gè)文件,一個(gè)頭文件,一個(gè)實(shí)現(xiàn)體CPP。
類力求封裝好,嚴(yán)格區(qū)分public,private,protect等作用域,如果一個(gè)函數(shù)與本類有莫大的關(guān)系,可以作為該類的靜態(tài)成員函數(shù),不用或少用友元函數(shù)等破壞類封裝性的方法和技巧。如果一些結(jié)構(gòu)或宏僅與本類有關(guān),可在類頭文件中定義。
類的成員變量在構(gòu)造函數(shù)或初始化函數(shù)中應(yīng)賦初值。指針在構(gòu)造函數(shù)中賦NULL,析構(gòu)時(shí)DEL_EMPTY它,以免內(nèi)存泄露。
5. 用戶界面規(guī)范
有四大類型的用戶界面:對(duì)話框、單文檔界面、多文檔界面、其它界面
對(duì)話框要易用且簡(jiǎn)潔,字體和控件的組織搭配要得體,能簡(jiǎn)單不復(fù)雜,各控件的焦點(diǎn)、Tab順序等要講究,視應(yīng)用場(chǎng)合要適當(dāng)支持鍵盤。在簡(jiǎn)潔易用的前提下,力求個(gè)性化,設(shè)計(jì)得更加友好。程序各對(duì)話框的風(fēng)格要保持一致。
單文檔和多文檔界面的程序功能可以做得很強(qiáng),也便于擴(kuò)充和管理。其中菜單、工具欄、狀態(tài)欄等設(shè)計(jì)要有特色。菜單按一定的分類彈出,必要時(shí)設(shè)計(jì)成多套菜單,在重要的窗口或區(qū)域應(yīng)能彈出右鍵,實(shí)現(xiàn)常見(jiàn)操作。工具欄上放最常用的操作按鈕,必要時(shí)動(dòng)態(tài)更換按鈕。狀態(tài)欄顯示足夠多的有用信息。
消息主控在Mainframe中,單文檔的主控也可在View中,所有的對(duì)話框的彈出或非模態(tài)對(duì)話框的控制都在主控窗口中完成,具體的數(shù)據(jù)處理放在單獨(dú)的文件中或設(shè)計(jì)成類。在App類中實(shí)現(xiàn)Ini讀寫,各數(shù)據(jù)對(duì)象的定義和析構(gòu),全局變量的賦值和初始計(jì)算,存盤退出等。各視圖的OnDraw和GDI畫圖盡量使用內(nèi)存位圖的方式,以免閃爍。
其它還有ATL,控制臺(tái),嵌入式程序界面等,也有作為其它容器如IE中的插件等,此類程序可能不用MFC,而采用COM組件等方法實(shí)現(xiàn)。
6. 疑難解答和Bug調(diào)試方法
勤問(wèn)、善于問(wèn)。在不打擾正常工作的前提下,開(kāi)發(fā)人員間應(yīng)相互幫助,聚思廣益,也許你的問(wèn)題或Bug就是他人的前車之鑒。
從各種途徑請(qǐng)求解答。專業(yè)書、教材、期刊、電子文檔以及國(guó)際標(biāo)準(zhǔn)文獻(xiàn)、RFC等,Internet上專業(yè)網(wǎng)站、論壇、專家組等。
Bug的出現(xiàn)總是有一定的原因的,冷靜查找,不要總是拘泥于某一個(gè)小局部,換一個(gè)想法、從另外一個(gè)角度也許讓你柳暗花明。使用一些輔助開(kāi)發(fā)或調(diào)試工具,如Spy++,Process Viewer,系統(tǒng)監(jiān)視器等。
拓寬知識(shí)面。多參閱其它編程語(yǔ)言、數(shù)據(jù)庫(kù)知識(shí)、編譯原理、網(wǎng)絡(luò)協(xié)議等,熟悉硬件設(shè)備、底層匯編、數(shù)字邏輯電路等。使用和揣摩其它軟件功能和界面,集百家之長(zhǎng),做出有創(chuàng)新意義和有特色的功能性軟件。
三. 一些習(xí)慣:
我認(rèn)為比較好的習(xí)慣:
1.if(0 == GetDataType(…))比if(GetDataType(…)== 0)好,縱使誤將==寫成=,在編譯一層就會(huì)報(bào)錯(cuò)。2.#define MAX_DOWNLOADNUM 20 struct DownInfo m_DownInfo[MAX_DOWNLOADNUM];在代碼中盡量不用具體的大小數(shù)值,定義成宏,便于以后維護(hù)。3.CUSTXG_CONTABLE g_lpCustCon[] = { {“數(shù)值串1”,C_ZGB,C_CUSTJBM,C_VT_FBJ,“萬(wàn)”}, {“數(shù)值串2”,C_ZSZ,C_CUSTJBM,C_VT_FBJ,“萬(wàn)”}, …
{“數(shù)值比例”,C_WTB,C_CUSTHQ,C_VT_FBJ,“%”} };int g_nCustNum = sizeof(g_lpCustCon)/sizeof(CUSTXG_CONTABLE);g_ nCustNum自動(dòng)適應(yīng)g_lpCustCon的大小。4.函數(shù)定義short GetInputType(const char * lpzInput)比short GetInputType(char * lpzInput)好,以免lpzInput在函數(shù)體中被破壞。5.協(xié)議包頭定義成:
typedef struct tagDataHeader { struct{ unsigned char Version:4;unsigned char HeaderFlag:2;unsigned char Reserved:2;//保留Bits位 }Info;long nOther;long Reserved;//保留4個(gè)字節(jié) } DATAHEADER;定義有一定的保留字段,供以后擴(kuò)充使用。6.變量在定義時(shí)賦初值,類析構(gòu)時(shí)或程序退出時(shí)判斷釋放所有變量。7.編碼空間一定要充分預(yù)留,編碼時(shí)注意可擴(kuò)充性。
我認(rèn)為不好的習(xí)慣:
1.代碼中是“+2”,“+4”,而不是“+sizeof(short)”,“+sizeof(int)”。2.filename[40],而不是filename[MAX_PATH]。
3.GDI資源使用完后不釋放,位圖、筆刷等用完后不Select出來(lái)。這樣會(huì)將導(dǎo)致系統(tǒng)Gdi資源丟失或內(nèi)存泄露。
4.大量使用無(wú)符號(hào)型變量。無(wú)符號(hào)變量在判斷時(shí)易造成錯(cuò)誤,甚至死循環(huán),盡量少用。5.使用malloc,free不使用new,delete,大量使用realloc。new,delete是規(guī)范的C++語(yǔ)法,通用性強(qiáng),realloc易造成內(nèi)存抖動(dòng)。6.#define square(x)(x)*(x)宏的體應(yīng)加括號(hào),否則容易出問(wèn)題,如1/square(x)將被替換1/(x)*(x)
以上僅是我總結(jié)的一些,比較少,希望能拋磚引玉,請(qǐng)大家補(bǔ)充
第二篇:軟件開(kāi)發(fā)文檔規(guī)范(定稿)
附2:
軟件文檔編寫向?qū)?/p>
文檔分類
項(xiàng)目包括如下幾類文檔:
項(xiàng)目管理文檔。包括:《軟件項(xiàng)目計(jì)劃》、《項(xiàng)目進(jìn)度報(bào)告》、《項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告》 軟件開(kāi)發(fā)文檔。包括:《需求規(guī)格說(shuō)明》、《概要設(shè)計(jì)說(shuō)明》、《詳細(xì)設(shè)計(jì)說(shuō)明》、《測(cè)試計(jì)劃》、《軟件測(cè)試分析報(bào)告》。
產(chǎn)品文檔。包括:《用戶操作手冊(cè)》《演示文件》。
軟件項(xiàng)目計(jì)劃
(Software Project Plan)
一.引言
1.編寫目的(闡明編寫軟件計(jì)劃的目的,指出讀者對(duì)象。)
2.項(xiàng)目背景(可包括:(1)項(xiàng)目委托單位、開(kāi)發(fā)單位和主管部門;(2)該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。)
3.定義(列出本文檔中用到的專門術(shù)語(yǔ)的定義和縮略詞的原文。)
4.參考資料(可包括:文檔所引用的資料、規(guī)范等;列出資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源。)
二.項(xiàng)目概述
1.工作內(nèi)容(簡(jiǎn)要說(shuō)明項(xiàng)目的各項(xiàng)主要工作,介紹所開(kāi)發(fā)軟件的功能性能等.若不編寫可行性研究報(bào)告,則應(yīng)在本節(jié)給出較詳細(xì)的介紹。)2.條件與限制(闡明為完成項(xiàng)目應(yīng)具備的條件開(kāi)發(fā)單位已具備的條件以及尚需創(chuàng)造的條件.必要時(shí)還應(yīng)說(shuō)明用戶及分合同承包者承擔(dān)的工作完成期限及其它條件與限制。)3.產(chǎn)品
(1)程序(列出應(yīng)交付的程序名稱使用的語(yǔ)言及存儲(chǔ)形式。)
(2)文檔(列出應(yīng)交付的文檔。)
(3)運(yùn)行環(huán)境(應(yīng)包括硬件環(huán)境軟件環(huán)境。)
4.服務(wù)(闡明開(kāi)發(fā)單位可向用戶提供的服務(wù).如人員培訓(xùn)安裝保修維護(hù)和其他運(yùn)行支持。)5.驗(yàn)收標(biāo)準(zhǔn)
三.實(shí)施計(jì)劃
1.任務(wù)分解(任務(wù)的劃分及各項(xiàng)任務(wù)的負(fù)責(zé)人。)
2.進(jìn)度(按階段完成的項(xiàng)目,用圖表說(shuō)明開(kāi)始時(shí)間完成時(shí)間。)3.預(yù)算
4.關(guān)鍵問(wèn)題(說(shuō)明可能影響項(xiàng)目的關(guān)鍵問(wèn)題,如設(shè)備條件技術(shù)難點(diǎn)或其他風(fēng)險(xiǎn)因素,并說(shuō)明對(duì)策。)
四.人員組織及分工 五.交付期限
六.專題計(jì)劃要點(diǎn)(如測(cè)試計(jì)劃等。)
項(xiàng)目開(kāi)發(fā)進(jìn)度報(bào)告
一.報(bào)告時(shí)間及所處的開(kāi)發(fā)階段 二.給出進(jìn)度
1. 本周的主要活動(dòng) 2. 實(shí)際進(jìn)展與計(jì)劃比較
三.所用工時(shí)(按不同層次人員分別計(jì)時(shí)。)四.所有機(jī)時(shí)
五.工作遇到的問(wèn)題及采取的對(duì)策 六.本周完成的成果 七.下周的工作計(jì)劃 八.特殊問(wèn)題
項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告
一.引言
1.編寫目的(闡明編寫總結(jié)報(bào)告的目的,指明讀者對(duì)象。)
2.項(xiàng)目背景(說(shuō)明項(xiàng)目的來(lái)源、委托單位、開(kāi)發(fā)單位及主管部門。)3.定義(列出報(bào)告中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4.參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)概要設(shè)計(jì)說(shuō)明書;(4)詳細(xì)設(shè)計(jì)說(shuō)明書;(5)用戶操作手冊(cè);(6)測(cè)試計(jì)劃;(7)測(cè)試分析報(bào)告(8)本報(bào)告引用的其他資料、采用的開(kāi)發(fā)標(biāo)準(zhǔn)或開(kāi)發(fā)規(guī)范。)
二.開(kāi)發(fā)結(jié)果
1. 產(chǎn)品(可包括:(1)列出各部分的程序名稱、源程序行數(shù)(包括注釋行)或目標(biāo)程序字節(jié)數(shù)及程序總計(jì)數(shù)量、存儲(chǔ)形式;產(chǎn)品文檔名稱等。)2. 主要功能及性能
3. 所用工時(shí)(按人員的不同層次分別計(jì)時(shí)。)4. 所用機(jī)時(shí)
5. 進(jìn)度(給出計(jì)劃進(jìn)度與實(shí)際進(jìn)度的對(duì)比。)
三.評(píng)價(jià)
1.生產(chǎn)率評(píng)價(jià)(如平均每人每周源程序行數(shù)、文檔的字?jǐn)?shù)等。)2.技術(shù)方案評(píng)價(jià) 3.產(chǎn)品質(zhì)量評(píng)價(jià)
四.經(jīng)驗(yàn)與教訓(xùn)
需求規(guī)格說(shuō)明書
(Requirements Specification)
一.引言
1. 編寫目的(闡明編寫需求說(shuō)明書的目的,指明讀者對(duì)象。)
2. 項(xiàng)目背景(可包括:(1)項(xiàng)目的委托單位,開(kāi)發(fā)單位和主管部門;(2)該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。)
3. 定義(列出文檔中用到的專門術(shù)語(yǔ)定義和縮寫詞的原文。)
4. 參考資料(可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)文檔所引用的資料,標(biāo)準(zhǔn)和規(guī)范。列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源。)
二.任務(wù)概述
1.目標(biāo) 2.運(yùn)行環(huán)境 3.條件與限制
三.?dāng)?shù)據(jù)描述
1. 靜態(tài)數(shù)據(jù)
2. 動(dòng)態(tài)數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù)。)3. 數(shù)據(jù)庫(kù)描述(給出使用數(shù)據(jù)庫(kù)的名稱和類型。)
4. 數(shù)據(jù)詞典 5. 數(shù)據(jù)采集
四.功能需求
1.功能劃分 2.功能描述
五.性能需求
1.?dāng)?shù)據(jù)精確度
2.時(shí)間特性(如響應(yīng)時(shí)間、更新處理時(shí)間、數(shù)據(jù)轉(zhuǎn)化與傳輸時(shí)間、運(yùn)行時(shí)間等。)3.適應(yīng)性(在操作方式運(yùn)行環(huán)境與其他軟件的接口以及開(kāi)發(fā)計(jì)劃等發(fā)生變化時(shí),應(yīng)具有的適應(yīng)能力。)
六.運(yùn)行需求
1.用戶界面(如屏幕格式、報(bào)表格式、菜單格式、輸入輸出時(shí)間等。)2.硬件接口 3.軟件接口 4.故障處理
七.其他需求(如可使用性、安全保密、可維護(hù)性、可移植性等。)
概要設(shè)計(jì)說(shuō)明書
(Architectural Design Specification)
一.引言
1.編寫目的(闡明編寫概要設(shè)計(jì)說(shuō)明書的目的,指明讀者對(duì)象。)
2.項(xiàng)目背景(可包括:(1)項(xiàng)目的委托單位,開(kāi)發(fā)單位和主管部門;(2)該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。)
3.定義(列出文檔中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4.參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)測(cè)試計(jì)劃(初稿);(4)用戶操作手冊(cè)(初稿);(5)文檔所引用的資料、采用的標(biāo)準(zhǔn)或規(guī)范。)
二.任務(wù)概述
1.目標(biāo)
2.運(yùn)行環(huán)境 3.需求概述 4.條件與限制
三.總體設(shè)計(jì)
1.處理流程
2.總體結(jié)構(gòu)和模塊外部設(shè)計(jì)
3.功能分配(表明各項(xiàng)功能與程序結(jié)構(gòu)的關(guān)系。)
四.接口設(shè)計(jì)
1.外部接口(包括用戶界面軟件接口與硬件接口。)2.內(nèi)部接口(模塊之間的接口。)
五.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
1. 邏輯結(jié)構(gòu)設(shè)計(jì) 2. 物理結(jié)構(gòu)設(shè)計(jì) 3. 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系
六.運(yùn)行設(shè)計(jì)
1.運(yùn)行模塊的組合 2.運(yùn)行控制 3.運(yùn)行時(shí)間
七.出錯(cuò)處理設(shè)計(jì)
1.出錯(cuò)輸出信息
2.出錯(cuò)處理對(duì)策(如設(shè)置后備、性能降級(jí)、恢復(fù)及再啟動(dòng)等。)
八.安全保密設(shè)計(jì)
九.維護(hù)設(shè)計(jì)(說(shuō)明為方便維護(hù)工作的設(shè)施,如維護(hù)模塊等。)
詳細(xì)設(shè)計(jì)說(shuō)明書
(Procedural Design Specification)
一.引言
1. 編寫目的(闡明編寫詳細(xì)設(shè)計(jì)說(shuō)明書的目的,指明讀者對(duì)象。)2. 項(xiàng)目背景(應(yīng)包括項(xiàng)目的來(lái)源和主管部門等。)
3. 定義(列出文檔中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4. 參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)概要設(shè)計(jì)說(shuō)明書;(4)測(cè)試計(jì)劃(初稿);(5)用戶操作手冊(cè)(初稿);(5)文檔所引用的其他資料、軟件開(kāi)發(fā)標(biāo)準(zhǔn)或規(guī)范。)
二.總體設(shè)計(jì)
1.需求概述
2.軟件結(jié)構(gòu)(如給出軟件系統(tǒng)的結(jié)果圖。)
三.程序描述(逐個(gè)模塊給出以下的說(shuō)明::)
1.功能 2.性能 3.輸入項(xiàng)目 4.輸出項(xiàng)目
5.算法(模塊所選用的算法。)
6.程序邏輯(詳細(xì)描述模塊實(shí)現(xiàn)的算法,可采用::(1)標(biāo)準(zhǔn)流程圖;(2)N-S圖;(3)PAD;(4)判定表等描述算法的圖表。)7.接口 8.存儲(chǔ)分配 9.限制條件
10.測(cè)試要點(diǎn)(給出測(cè)試模塊的主要測(cè)試要求。)
測(cè)試計(jì)劃(Test Plan)
一、引言
1. 編寫目的(闡明編寫測(cè)試計(jì)劃的目的,指明讀者對(duì)象。)2. 項(xiàng)目背景(說(shuō)明項(xiàng)目的來(lái)源委托單位及主管部門。)
3. 定義(列出測(cè)試計(jì)劃中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4. 參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)概要設(shè)計(jì)說(shuō)明書;(4)詳細(xì)設(shè)計(jì)說(shuō)明書;(5)用戶操作手冊(cè);(6)本測(cè)試計(jì)劃中引用的其他資料采用的軟件開(kāi)發(fā)標(biāo)準(zhǔn)或規(guī)范。)
二.任務(wù)概述
1.目標(biāo)
2.運(yùn)行環(huán)境 3.需求概述 4.條件與限制
三.計(jì)劃
1.測(cè)試方案(說(shuō)明確定測(cè)試方法和選取測(cè)試用例的原則。)
2.測(cè)試項(xiàng)目(列出組裝測(cè)試和確認(rèn)測(cè)試中每一項(xiàng)測(cè)試的內(nèi)容、名稱、目的和進(jìn)度。)3.測(cè)試準(zhǔn)備
4.測(cè)試機(jī)構(gòu)及人員(測(cè)試機(jī)構(gòu)名稱負(fù)責(zé)人和職責(zé)。)
四.測(cè)試項(xiàng)目說(shuō)明(按順序逐個(gè)對(duì)測(cè)試項(xiàng)目做出說(shuō)明:)
1.測(cè)試項(xiàng)目名稱及測(cè)試內(nèi)容 2.測(cè)試用例
(1)輸入(輸入的數(shù)據(jù)和輸入的命令。)(2)輸出(預(yù)期的輸出數(shù)據(jù)。)
(3)步驟及操作
(4)允許偏差(給出實(shí)測(cè)結(jié)果與預(yù)測(cè)結(jié)果之間允許偏差的范圍。)3. 進(jìn)度
4. 條件(給出項(xiàng)測(cè)試對(duì)資源的特殊要求,如設(shè)備、軟件、人員等。)5. 測(cè)試資料(說(shuō)明項(xiàng)測(cè)試所需的資料。)
五.評(píng)價(jià)
1.范圍(說(shuō)明所完成的各項(xiàng)測(cè)試說(shuō)明問(wèn)題的范圍及其局限性。)2.準(zhǔn)則(說(shuō)明評(píng)價(jià)測(cè)試結(jié)果的準(zhǔn)則。)
測(cè)試分析報(bào)告(Test Specification)
一.引言
1.編寫目的(闡明編寫測(cè)試分析報(bào)告的目的,指明讀者對(duì)象。)2.項(xiàng)目背景(說(shuō)明項(xiàng)目的來(lái)源、委托單位及主管部門。)
3.定義(列出測(cè)試分析報(bào)告中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4.參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)概要設(shè)計(jì)說(shuō)明書;(4)詳細(xì)設(shè)計(jì)說(shuō)明
書;(5)用戶操作手冊(cè);(6)測(cè)試計(jì)劃;(7)測(cè)試分析報(bào)告所引用的其他資料、采用的軟件工程標(biāo)準(zhǔn)或軟件工程規(guī)范。)
二.測(cè)試計(jì)劃執(zhí)行情況
1.測(cè)試項(xiàng)目(列出每一測(cè)試項(xiàng)目的名稱、內(nèi)容和目的。)
2.測(cè)試機(jī)構(gòu)和人員(給出測(cè)試機(jī)構(gòu)名稱、負(fù)責(zé)人和參與測(cè)試人員名單。)
3.測(cè)試結(jié)果(按順序給出每一測(cè)試項(xiàng)目的:(1)實(shí)測(cè)結(jié)果數(shù)據(jù)(2)與預(yù)期結(jié)果數(shù)據(jù)的偏差(3)該項(xiàng)測(cè)試說(shuō)明的事實(shí)(4)該項(xiàng)測(cè)試發(fā)現(xiàn)的問(wèn)題。)
三.軟件需求測(cè)試結(jié)論
按順序給出每一項(xiàng)需求測(cè)試的結(jié)論。包括:(1)證實(shí)的軟件能力(2)局限性(即項(xiàng)需求未得到充分測(cè)試的情況及原因)。
四.評(píng)價(jià)
1.軟件能力(經(jīng)過(guò)測(cè)試所表明的軟件能力。)
2.缺陷和限制(說(shuō)明測(cè)試所揭露的軟件缺陷和不足,以及可能給軟件運(yùn)行帶來(lái)的影響。)3.建議(提出為彌補(bǔ)上述缺陷的建議。)4.測(cè)試結(jié)論(說(shuō)明能否通過(guò)。)
用戶操作手冊(cè)(User Guide)
一.引言
1.編寫目的(闡明編寫手冊(cè)的目的,指明讀者對(duì)象。)
2.項(xiàng)目背景(說(shuō)明項(xiàng)目的來(lái)源、委托單位、開(kāi)發(fā)單位及主管部門。)3.定義(列出手冊(cè)中用到的專門術(shù)語(yǔ)定義和縮寫詞的原意。)
4.參考資料(列出這些資料的作者、標(biāo)題、編號(hào)、發(fā)表日期、出版單位或資料來(lái)源,可包括:(1)項(xiàng)目開(kāi)發(fā)計(jì)劃;(2)需求規(guī)格說(shuō)明書;(3)概要設(shè)計(jì)說(shuō)明書;(4)詳細(xì)設(shè)計(jì)說(shuō)明書;(5)測(cè)試計(jì)劃;(6)手冊(cè)中引用的其他資料、采用的軟件工程標(biāo)準(zhǔn)或軟件工程規(guī)范。)
二.軟件概述
1.目標(biāo) 2.功能 3.性能
(1)數(shù)據(jù)精確度(包括輸入、輸出及處理數(shù)據(jù)的精度。)(2)時(shí)間特性(如響應(yīng)時(shí)間、處理時(shí)間、數(shù)據(jù)傳輸時(shí)間等。)
(3)靈活性(在操作方式、運(yùn)行環(huán)境需做某些變更時(shí)軟件的適應(yīng)能力。)
三.運(yùn)行環(huán)境
1.硬件(列出軟件系統(tǒng)運(yùn)行時(shí)所需的硬件最小配置,如:(1)計(jì)算機(jī)型號(hào)、主存容量;(2)外存儲(chǔ)器、媒體、記錄格式、設(shè)備型號(hào)及數(shù)量;(3)輸入、輸出設(shè)備;(4)數(shù)據(jù)傳輸設(shè)備及數(shù)據(jù)轉(zhuǎn)換設(shè)備的型號(hào)及數(shù)量。)
2.支持軟件(如:(1)操作系統(tǒng)名稱及版本號(hào);(2)語(yǔ)言編譯系統(tǒng)或匯編系統(tǒng)的名稱及版本號(hào);(3)數(shù)據(jù)庫(kù)管理系統(tǒng)的名稱及版本號(hào);(4)其他必要的支持軟件。)
四.使用說(shuō)明
1.安裝和初始化(給出程序的存儲(chǔ)形式、操作命令、反饋信息及其含義、表明安裝完成的測(cè)試實(shí)例以及安裝所需的軟件工具等。)2.輸入(給出輸入數(shù)據(jù)或參數(shù)的要求。)
(1)數(shù)據(jù)背景(說(shuō)明數(shù)據(jù)來(lái)源、存儲(chǔ)媒體、出現(xiàn)頻度、限制和質(zhì)量管理等。)
(2)數(shù)據(jù)格式(如:(1)長(zhǎng)度(2)格式基準(zhǔn)(3)標(biāo)號(hào)(4)順序(5)分隔符(6)詞匯表(7)省略和重復(fù)(8)控制。)(3)輸入舉例
3.輸出(給出每項(xiàng)輸出數(shù)據(jù)的說(shuō)明。)
(1)數(shù)據(jù)背景(說(shuō)明輸出數(shù)據(jù)的去向、使用頻度、存放媒體及質(zhì)量管理等。)(2)數(shù)據(jù)格式(詳細(xì)闡明每一輸出數(shù)據(jù)的格式,如:首部主體和尾部的具體形式。)(3)舉例
3.出錯(cuò)和恢復(fù)(給出:(1)出錯(cuò)信息及其含義(2)用戶應(yīng)采取的措施,如修改、恢復(fù)、再啟動(dòng)。)
4.求助查詢(說(shuō)明如何操作。)
五.運(yùn)行說(shuō)明
1. 運(yùn)行表 [列出每種可能的運(yùn)行情況,說(shuō)明其運(yùn)行目的.] 2. 運(yùn)行步驟 [按順序說(shuō)明每種運(yùn)行的步驟,應(yīng)包括:](1)運(yùn)行控制
(2)操作信息((1)運(yùn)行目的(2)操作要求(3)啟動(dòng)方法(4)預(yù)計(jì)運(yùn)行時(shí)間(5)操作命令格式及說(shuō)明(6)其他事項(xiàng)。)
(3)輸入/輸出文件(給出建立和更新文件的有關(guān)信息,如:(1)文件的名稱及編號(hào)(2)記錄媒體(3)存留的目錄(4)文件的支配(說(shuō)明確定保留文件或廢棄文件的準(zhǔn)則,分發(fā)文件的對(duì)象,占用硬件的優(yōu)先級(jí)及保密控制等。)(4)啟動(dòng)或恢復(fù)過(guò)程
六.非常規(guī)過(guò)程
(提供應(yīng)急或非常規(guī)操作的必要信息及操作步驟,如出錯(cuò)處理操作、向后備系統(tǒng)切換操作以及維護(hù)人員須知的操作和注意事項(xiàng)。)
七.操作命令一覽表
(按字母順序逐個(gè)列出全部操作命令的格式功能及參數(shù)說(shuō)明。)
八.程序文件(或命令文件)和數(shù)據(jù)文件一覽表(按文件名字母順序或按功能與模塊分類順序逐個(gè)列出文件名稱、標(biāo)識(shí)符及說(shuō)明。)
九.用戶操作舉例
第三篇:軟件開(kāi)發(fā)管理規(guī)范
軟件開(kāi)發(fā)過(guò)程管理規(guī)范
濟(jì)南明湖建筑節(jié)能技術(shù)開(kāi)發(fā)有限公司 軟件開(kāi)發(fā)過(guò)程管理規(guī)范
一、總則.................................................................................................................................1 1.軟件開(kāi)發(fā)項(xiàng)目管理的目的.........................................................................................1 2.軟件開(kāi)發(fā)項(xiàng)目管理規(guī)范適用對(duì)象.............................................................................1 3.軟件項(xiàng)目開(kāi)發(fā)組織管理.............................................................................................1
二、軟件項(xiàng)目立項(xiàng)階段.........................................................................................................1
三、軟件項(xiàng)目實(shí)施階段.........................................................................................................2
四、項(xiàng)目需求分析過(guò)程.........................................................................................................2
五、項(xiàng)目系統(tǒng)設(shè)計(jì)過(guò)程.........................................................................................................3
六、項(xiàng)目開(kāi)發(fā)編碼過(guò)程.........................................................................................................3
七、測(cè)試提交過(guò)程.................................................................................................................4
八、項(xiàng)目驗(yàn)收總結(jié)階段.........................................................................................................4
軟件開(kāi)發(fā)過(guò)程管理規(guī)范
一、總則
1.軟件開(kāi)發(fā)項(xiàng)目管理的目的
為保障按時(shí)、保質(zhì)、保量完成預(yù)期交付的任務(wù),讓整個(gè)組織能清楚了解項(xiàng)目實(shí)施的目的、影響、進(jìn)度,做到項(xiàng)目組所有成員都理解項(xiàng)目實(shí)施的原因、意義及客戶的要求。通過(guò)制度化管理來(lái)合理組織安排項(xiàng)目組成員的工作職責(zé)和角色轉(zhuǎn)換。2.軟件開(kāi)發(fā)項(xiàng)目管理規(guī)范適用對(duì)象
為了達(dá)到軟件開(kāi)發(fā)項(xiàng)目管理的根本目的,要求公司全體員工必須嚴(yán)格按照本規(guī)范執(zhí)行,同時(shí)要求公司業(yè)務(wù)人員引導(dǎo)合作單位和客戶接受并適應(yīng)公司本《軟件項(xiàng)目開(kāi)發(fā)管理規(guī)范》。3.軟件項(xiàng)目開(kāi)發(fā)組織管理
根據(jù)軟件開(kāi)發(fā)的標(biāo)準(zhǔn)流程,結(jié)合公司的實(shí)際情況對(duì)軟件項(xiàng)目分三個(gè)主要階段進(jìn)行組織管理,分別為項(xiàng)目立項(xiàng)階段、項(xiàng)目實(shí)施階段和項(xiàng)目驗(yàn)收總結(jié)階段。
二、軟件項(xiàng)目立項(xiàng)階段
1.成立公司項(xiàng)目評(píng)估委員會(huì)負(fù)責(zé)公司的項(xiàng)目立項(xiàng)審批。
2.公司項(xiàng)目評(píng)估委員會(huì)由公司總經(jīng)理或指定負(fù)責(zé)人召集,成員為公司管理層人員、商務(wù)負(fù)責(zé)人、市場(chǎng)負(fù)責(zé)人、技術(shù)總監(jiān)、技術(shù)研發(fā)經(jīng)理、財(cái)務(wù)負(fù)責(zé)人組成。
3.公司業(yè)務(wù)部門按照公司發(fā)展要求或外部需求形成《軟件項(xiàng)目需求說(shuō)明書》,確定項(xiàng)目需求管理人或項(xiàng)目申請(qǐng)人。
4.項(xiàng)目申請(qǐng)人填寫《軟件項(xiàng)目立項(xiàng)申請(qǐng)書》向項(xiàng)目評(píng)估委員會(huì)提出項(xiàng)目立項(xiàng)申請(qǐng),主要說(shuō)明項(xiàng)目的背景、目的、效益、成本、需求等方面,并由技術(shù)部門提供支持和技術(shù)說(shuō)明。5.項(xiàng)目評(píng)估委員會(huì)收到《項(xiàng)目立項(xiàng)申請(qǐng)書》后三個(gè)工作日內(nèi),召開(kāi)評(píng)估會(huì)議。給出評(píng)估結(jié)果。如果批準(zhǔn)立項(xiàng)交公司技術(shù)總監(jiān)組織開(kāi)發(fā)。如果不批準(zhǔn),給出理由后項(xiàng)目中止。中止后的項(xiàng)目可根據(jù)情況重新申請(qǐng)。
6.評(píng)估結(jié)果必須包括:建議項(xiàng)目啟動(dòng)日期,期望項(xiàng)目完成日期,項(xiàng)目等級(jí)系數(shù),項(xiàng)目?jī)?yōu)先級(jí)(高中低),資源沖突程度(1~9)。對(duì)于資源沖突程度大于5的項(xiàng)目技術(shù)總監(jiān)有權(quán)拒絕
軟件開(kāi)發(fā)過(guò)程管理規(guī)范
接受。
三、軟件項(xiàng)目實(shí)施階段
1.公司批準(zhǔn)立項(xiàng)的項(xiàng)目交由公司技術(shù)總監(jiān)組織實(shí)施。
2.技術(shù)總監(jiān)根據(jù)資源情況和項(xiàng)目需求組織相關(guān)技術(shù)人員進(jìn)行初步需求討論會(huì),確定項(xiàng)目的等級(jí)系數(shù)(如分大、中、小對(duì)應(yīng)3、2、1)、指定項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人。在立項(xiàng)后五個(gè)工作日內(nèi)技術(shù)總監(jiān)和項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人共同制定《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》,確定項(xiàng)目啟動(dòng)日并提交項(xiàng)目評(píng)估委員會(huì)做反饋確認(rèn)。如果項(xiàng)目評(píng)估委員會(huì)二位成員以上對(duì)計(jì)劃有異議,項(xiàng)目評(píng)估委員會(huì)應(yīng)該召開(kāi)項(xiàng)目計(jì)劃協(xié)調(diào)會(huì),協(xié)調(diào)《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》的修改和通過(guò)。如果無(wú)異議授權(quán)技術(shù)總監(jiān)按照《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》執(zhí)行。
3.項(xiàng)目啟動(dòng)日后,項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人根據(jù)《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》的進(jìn)度每周進(jìn)行一次分析匯報(bào),形成《項(xiàng)目分析周報(bào)》確定項(xiàng)目的狀態(tài)、分析風(fēng)險(xiǎn)和對(duì)策,交技術(shù)總監(jiān)管控。4.《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》必須按照軟件項(xiàng)目實(shí)施過(guò)程分解為需求分析、系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)編碼和測(cè)試提交幾個(gè)控制過(guò)程。
四、項(xiàng)目需求分析過(guò)程
1.項(xiàng)目需求分析團(tuán)隊(duì)由技術(shù)總監(jiān)負(fù)責(zé),組成人員包括技術(shù)研發(fā)經(jīng)理、項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人、部分高級(jí)軟件開(kāi)發(fā)工程師和需求提供人。
2.需求分析第一次會(huì)議將在《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》通過(guò)后,在項(xiàng)目啟動(dòng)日2個(gè)工作日內(nèi)召開(kāi),提出需求的不足之處交需求提供人完善。
3.分析團(tuán)隊(duì)分工完成提交《軟件項(xiàng)目需求功能列表》及《項(xiàng)目關(guān)鍵業(yè)務(wù)流程》文擋。4.需求分析應(yīng)該在需求分析第一次會(huì)議后的開(kāi)始,并在(3個(gè)工作日*項(xiàng)目等級(jí)系數(shù))日內(nèi)完成。
5.需求分析過(guò)程完成后,如果需求變更提供人必須書面提出《項(xiàng)目需求變更通知書》,項(xiàng)目需求分析團(tuán)隊(duì)在2個(gè)工作日內(nèi)完成分析反饋,確定項(xiàng)目變更系數(shù);項(xiàng)目負(fù)責(zé)人變更對(duì)應(yīng)《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》版本。
6.需求分析階段完成的標(biāo)志為技術(shù)總監(jiān)召開(kāi)文擋審查和階段總結(jié)會(huì),時(shí)間為1個(gè)工作日。
軟件開(kāi)發(fā)過(guò)程管理規(guī)范
五、項(xiàng)目系統(tǒng)設(shè)計(jì)過(guò)程
1.項(xiàng)目設(shè)計(jì)團(tuán)隊(duì)由技術(shù)總監(jiān)負(fù)責(zé),組成人員包括技術(shù)研發(fā)經(jīng)理、項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人、部分高級(jí)軟件開(kāi)發(fā)工程師。
2.項(xiàng)目分析設(shè)計(jì)團(tuán)隊(duì)在收到需求階段文檔后2個(gè)工作日內(nèi)召開(kāi)設(shè)計(jì)工作啟動(dòng)協(xié)調(diào)會(huì),審查反饋需求階段文檔。
3.協(xié)調(diào)會(huì)明確分工、按計(jì)劃完成《項(xiàng)目系統(tǒng)接口說(shuō)明》、《項(xiàng)目系統(tǒng)數(shù)據(jù)設(shè)計(jì)文檔》和《主要操作界面說(shuō)明》文檔。
4.項(xiàng)目設(shè)計(jì)應(yīng)該在啟動(dòng)協(xié)調(diào)會(huì)后開(kāi)始,并在(5個(gè)工作日*項(xiàng)目等級(jí)系數(shù))日內(nèi)完成。5.項(xiàng)目負(fù)責(zé)人接到《項(xiàng)目需求變更通知書》后,按照1個(gè)工作日*項(xiàng)目變更系數(shù)調(diào)整對(duì)應(yīng)設(shè)計(jì)和計(jì)劃。
6.項(xiàng)目設(shè)計(jì)階段完成的標(biāo)志為技術(shù)總監(jiān)召開(kāi)設(shè)計(jì)文擋審查和階段總結(jié)會(huì),時(shí)間為1個(gè)工作日。
六、項(xiàng)目開(kāi)發(fā)編碼過(guò)程
1.項(xiàng)目開(kāi)發(fā)編碼團(tuán)隊(duì)由技術(shù)研發(fā)經(jīng)理負(fù)責(zé),組成人員包括項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人和軟件開(kāi)發(fā)工程師。
2.項(xiàng)目開(kāi)發(fā)編碼團(tuán)隊(duì)在收到需求和設(shè)計(jì)階段文檔后2個(gè)工作日內(nèi)召開(kāi)編碼工作啟動(dòng)協(xié)調(diào)會(huì),學(xué)習(xí)理解并反饋需求和設(shè)計(jì)階段文檔。
3.技術(shù)研發(fā)經(jīng)理按照項(xiàng)目《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》中開(kāi)發(fā)編碼過(guò)程的細(xì)分階段進(jìn)行控制。
4.項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人需負(fù)責(zé)項(xiàng)目聯(lián)調(diào)測(cè)試,保證《項(xiàng)目關(guān)鍵業(yè)務(wù)流程》和《主要操作界面說(shuō)明》文檔的實(shí)現(xiàn)。
5.技術(shù)研發(fā)經(jīng)理要組織項(xiàng)目開(kāi)發(fā)編碼團(tuán)隊(duì)對(duì)(項(xiàng)目等級(jí)系數(shù))關(guān)鍵代碼進(jìn)行集中解讀,保證編碼的質(zhì)量和規(guī)范。
6.根據(jù)項(xiàng)目的情況,要求開(kāi)發(fā)編碼人員對(duì)《項(xiàng)目系統(tǒng)接口說(shuō)明》中接口進(jìn)行性能測(cè)試,并產(chǎn)生接口測(cè)試報(bào)告。
7.技術(shù)研發(fā)經(jīng)理負(fù)責(zé)做好開(kāi)發(fā)編碼的版本管理工作。
8.開(kāi)發(fā)編碼應(yīng)該在編碼工作啟動(dòng)協(xié)調(diào)會(huì)后開(kāi)始,并在(10個(gè)工作日*項(xiàng)目等級(jí)系數(shù))內(nèi)完成。
軟件開(kāi)發(fā)過(guò)程管理規(guī)范
9.開(kāi)發(fā)編碼階段完成的標(biāo)志為測(cè)試人員接受測(cè)試版本后,技術(shù)研發(fā)經(jīng)理召開(kāi)提交和階段總結(jié)會(huì),開(kāi)發(fā)人員的所有代碼轉(zhuǎn)交給項(xiàng)目負(fù)責(zé)人管理。時(shí)間為1個(gè)工作日。
七、測(cè)試提交過(guò)程
1.項(xiàng)目測(cè)試團(tuán)隊(duì)由技術(shù)研發(fā)經(jīng)理、項(xiàng)目負(fù)責(zé)人和測(cè)試工程師組成。
2.測(cè)試工程師首先檢查開(kāi)發(fā)編碼團(tuán)隊(duì)《項(xiàng)目關(guān)鍵業(yè)務(wù)流程》、《主要操作界面說(shuō)明》和《項(xiàng)目系統(tǒng)接口說(shuō)明》的測(cè)試結(jié)果。如果通過(guò)才接受,否則將退回。
3.測(cè)試工程師在開(kāi)發(fā)編碼階段的同時(shí)應(yīng)該編制好《項(xiàng)目軟件使用說(shuō)明書》,接受測(cè)試版本后按照《項(xiàng)目軟件使用說(shuō)明書》進(jìn)行測(cè)試。
4.測(cè)試工程師重新測(cè)試一次《項(xiàng)目關(guān)鍵業(yè)務(wù)流程》、《主要操作界面說(shuō)明》和《項(xiàng)目系統(tǒng)接口說(shuō)明》。
5.測(cè)試工程師完成對(duì)應(yīng)版本的《項(xiàng)目測(cè)試報(bào)告》,發(fā)現(xiàn)的問(wèn)題交項(xiàng)目負(fù)責(zé)人負(fù)責(zé)組織開(kāi)發(fā)人員修改完善。
6.測(cè)試工程師提交完成版本的《項(xiàng)目測(cè)試報(bào)告》后,由技術(shù)研發(fā)經(jīng)理確認(rèn)并簽字。將對(duì)應(yīng)版本定義為發(fā)布版本。
7.測(cè)試工作應(yīng)該在接受測(cè)試版本后進(jìn)行,并在(5個(gè)工作日*項(xiàng)目等級(jí)系數(shù))內(nèi)完成。
八、項(xiàng)目驗(yàn)收總結(jié)階段
1.發(fā)布版本后,項(xiàng)目負(fù)責(zé)人打印收集好所有項(xiàng)目過(guò)程文擋,并有對(duì)應(yīng)責(zé)任人簽字。
2.項(xiàng)目負(fù)責(zé)人回顧總結(jié)《軟件項(xiàng)目開(kāi)發(fā)計(jì)劃》,分析總結(jié)實(shí)際和計(jì)劃差異,形成《項(xiàng)目計(jì)劃執(zhí)行情況報(bào)告》。
3.技術(shù)研發(fā)經(jīng)理總結(jié)項(xiàng)目設(shè)計(jì)、開(kāi)發(fā)、測(cè)試過(guò)程的質(zhì)量控制和開(kāi)發(fā)人員開(kāi)發(fā)效率情況,總結(jié)經(jīng)驗(yàn)教訓(xùn)并提出項(xiàng)目開(kāi)發(fā)改進(jìn)措施。
4.技術(shù)總監(jiān)總結(jié)分析成本控制、對(duì)全部項(xiàng)目人員進(jìn)行考核,形成《項(xiàng)目總結(jié)報(bào)告》。并完善本規(guī)范流程。
5.上述工作完成后,提交項(xiàng)目評(píng)估委員會(huì)總結(jié)會(huì)審批后公布。
第四篇:山東08規(guī)范軟件開(kāi)發(fā)計(jì)劃
山東08規(guī)范軟件開(kāi)發(fā)計(jì)劃
本軟件是從江蘇提速版本基礎(chǔ)之上根據(jù)現(xiàn)有山東地區(qū)軟件進(jìn)行調(diào)整。
軟件需要更改的地方我初步填寫了《需求表》,請(qǐng)各位針對(duì)自己的工作重點(diǎn),結(jié)合相應(yīng)的軟件進(jìn)行分析和代碼設(shè)計(jì),并給出時(shí)間計(jì)劃表
1)軟件基本信息修改及報(bào)表更改。
本部分工作由葛亮完成(吳耀武輔助)。具體內(nèi)容包括:
軟件基本信息的調(diào)整:比如顯示上的江蘇更改為山東。以及模板的調(diào)整
山東報(bào)表的打印。
2)計(jì)價(jià)程序以及管理費(fèi)和利潤(rùn)設(shè)置。
本部分工作由陸向榮完成。具體內(nèi)容包括計(jì)價(jià)程序相關(guān)變量的設(shè)置調(diào)整和管理費(fèi)利潤(rùn)費(fèi)率按山東需求進(jìn)行調(diào)整。
3)其他項(xiàng)目,規(guī)費(fèi),稅金項(xiàng)目等界面調(diào)整和修改。
本部分工作有張志浩完成。主要將湖南的相關(guān)界面及操作等東西搬過(guò)來(lái)。同時(shí)指導(dǎo)招投標(biāo)接口的更改工作。
4)招投標(biāo)接口的更改,采用原有山東的招投標(biāo)接口。
本部分工作有強(qiáng)浩完成。主要任務(wù)是將江蘇地區(qū)的招投標(biāo)接口更改為山東接口。另山東現(xiàn)有一個(gè)接口規(guī)范(試行)及萊蕪有一個(gè)接口文件,請(qǐng)一并考慮在內(nèi)。相關(guān)文檔見(jiàn)《山東省建設(shè)工程造價(jià)計(jì)價(jià)軟件數(shù)據(jù)接口標(biāo)準(zhǔn)(試行)》和《萊蕪市建設(shè)工程計(jì)價(jià)數(shù)據(jù)交換規(guī)范》。
以上為現(xiàn)有的初步分工,請(qǐng)各位參考自己已有工作量進(jìn)行計(jì)劃,回復(fù)我計(jì)劃時(shí)間和具體工作內(nèi)容。對(duì)分工任務(wù)不明確的請(qǐng)和我聯(lián)系,以便調(diào)整。
第五篇:軟件開(kāi)發(fā)心得總結(jié)
有感于網(wǎng)盤開(kāi)發(fā)過(guò)程
有感于網(wǎng)盤開(kāi)發(fā)過(guò)程..............................................................................................................................1
一、軟件開(kāi)發(fā)個(gè)人體會(huì):.................................................................................................................2
二、做軟件開(kāi)發(fā)我覺(jué)得要明白:.....................................................................................................2
三、在開(kāi)發(fā)中遇到問(wèn)題應(yīng)該怎么去解決?......................................................................................2
四、怎么樣才能提高自身的能力?..................................................................................................2
五、怎么樣才能做好軟件開(kāi)發(fā)?.....................................................................................................2
六、文檔的重要性.............................................................................................................................3
七、我的收獲.....................................................................................................................................3
八、網(wǎng)盤項(xiàng)目開(kāi)發(fā)的最大體會(huì).........................................................................................................4
九、軟件測(cè)試(單體測(cè)試和連接測(cè)試)..........................................................................................4
常熟理工學(xué)院SIG小組
3/28/2013
一、軟件開(kāi)發(fā)個(gè)人體會(huì):
1.軟件領(lǐng)域中的知識(shí)在于積累。
2.做軟件開(kāi)發(fā),就類似算數(shù)學(xué)題和世界杯足球賽一樣:重在結(jié)果,而不在乎過(guò)程。3.軟件服務(wù)于人類,軟件是在解決一些生活中的問(wèn)題和錯(cuò)誤,問(wèn)題決定解決方案。
二、做軟件開(kāi)發(fā)我覺(jué)得要明白:
1.職業(yè)的樂(lè)趣:
(A)用自己的智慧去創(chuàng)建新事物的快樂(lè)(B)開(kāi)發(fā)對(duì)別人有用的東西(C)不斷學(xué)習(xí)來(lái)充實(shí)自己 2.職業(yè)的苦惱:(A)總是追求完美
(B)所有要實(shí)現(xiàn)的功能由他人而定
(C)概念設(shè)計(jì)計(jì)是有趣的,但找Bug總是很苦惱的
三、在開(kāi)發(fā)中遇到問(wèn)題應(yīng)該怎么去解決?
1.2.3.4.不明白就多問(wèn),不要自已一直去琢磨。
一個(gè)問(wèn)題如果30分鐘還沒(méi)有解決就應(yīng)該考慮是不是問(wèn)問(wèn)別人。一個(gè)問(wèn)題在沒(méi)有用過(guò)3種以上的方法解決過(guò)就不要去問(wèn)別人。解決問(wèn)題思路是關(guān)鍵:
相信問(wèn)題總歸有解決的辦法,就算連技術(shù)上都沒(méi)法實(shí)現(xiàn)的問(wèn)題,相信通過(guò)良好的溝通終究也會(huì)有解決的方法。
5.解決問(wèn)題的前提是:理解別人的意思,理解別人的需求,多溝通,及時(shí)給客戶反饋信息。
四、怎么樣才能提高自身的能力?
1.程序員怎么樣進(jìn)步最快? - 理論結(jié)合實(shí)踐
2.不要怕出錯(cuò),不怕遇到錯(cuò)誤,有錯(cuò)誤就有挑戰(zhàn),這樣才可以進(jìn)步,但不要讓同一個(gè)石頭把你絆倒2次。
五、怎么樣才能做好軟件開(kāi)發(fā)?
1.首先要明白解決的問(wèn)題是什么,理解問(wèn)題,其次再?zèng)Q定怎么解決這個(gè)問(wèn)題 2.碰到很復(fù)雜的問(wèn)題,我們就簡(jiǎn)單想,把問(wèn)題簡(jiǎn)單化,細(xì)化到能夠?qū)崿F(xiàn)為止
常熟理工學(xué)院SIG小組
3/28/2013
3.出了問(wèn)題,我們要先分析問(wèn)題,然后知道引起問(wèn)題的原因,最后并想出問(wèn)題的解決辦法 4.我們應(yīng)該從2個(gè)方面去把握一個(gè)項(xiàng)目:從業(yè)務(wù)角度和項(xiàng)目的關(guān)鍵問(wèn)題上去把握一個(gè)項(xiàng)目
(A)從不同的系統(tǒng)場(chǎng)景
(B)從不同的用戶角色(充當(dāng)什么角色)(C)從不同的系統(tǒng)使用角度(擁有那些權(quán)限)
5.其實(shí)我覺(jué)得開(kāi)發(fā)人員說(shuō)實(shí)在應(yīng)該要比使用系統(tǒng)的人更了解系統(tǒng)需求,只有真正徹底的了解了項(xiàng)目的業(yè)務(wù)需求,我們才能做真的做好這個(gè)項(xiàng)目
六、文檔的重要性
記得我當(dāng)初剛開(kāi)發(fā)項(xiàng)目的時(shí)候都是寫個(gè)大致的需求說(shuō)明書,做一個(gè)E-R圖,畫幾個(gè)大致的數(shù)據(jù)流程圖,然后建立數(shù)據(jù)字典和表結(jié)構(gòu)關(guān)系。再接著搭建一個(gè)開(kāi)發(fā)環(huán)境,配置幾臺(tái)服務(wù)器,劃分一下模塊,分工,我們就可以Coding了,一直到項(xiàng)目結(jié)束了,也沒(méi)有完整的設(shè)計(jì)文檔,更沒(méi)有完整的測(cè)試文檔,雖然這樣的確是很快的完成了Coding工作,感覺(jué)上好像節(jié)省了好多成本和開(kāi)發(fā)時(shí)間,但后期的維護(hù)和Bug 就是經(jīng)常出現(xiàn)的事。
小項(xiàng)目沒(méi)有文檔關(guān)系不大,但如果遇到一個(gè)大項(xiàng)目的時(shí)候,那這樣的開(kāi)發(fā)方式就很有問(wèn)題很危險(xiǎn)的。
大項(xiàng)目沒(méi)有文檔: 首先維護(hù)就很麻煩,也很亂,寫的代碼,過(guò)幾天都不知道它是完成什么功能的了,其次系統(tǒng)的穩(wěn)定性和可靠性也讓人懷疑,擴(kuò)展性就不用說(shuō)了。
七、我的收獲
A.程序員大多都不喜歡寫文檔,我們以前也是特討厭,記得以前都是系統(tǒng)開(kāi)發(fā)完了,為了應(yīng)付項(xiàng)目驗(yàn)收,就匆匆忙忙的一組人在那里補(bǔ)文檔。在我們的思想里,所謂的文檔就是一些廢話,一句話硬是用十句話來(lái)代替的無(wú)聊透頂。B.代碼風(fēng)格要規(guī)范
以前做項(xiàng)目,我們都是不怎么去注意代碼風(fēng)格和寫代碼的規(guī)范,都是稍微想一下就直接開(kāi)始寫代碼了。注釋也很少用,總感覺(jué)我們自己寫的代碼,我們?cè)趺磿?huì)不知道它做了些什么事呢 ?總覺(jué)得我們自己寫的代碼我們?cè)趺磿?huì)不知道它是用來(lái)做什么的呢。一直都不相信這是個(gè)事實(shí),但事實(shí)上,項(xiàng)目驗(yàn)收后,系統(tǒng)剛開(kāi)始使用的人少,也就不會(huì)出現(xiàn)潛在的錯(cuò)誤,隨著時(shí)間的增加,久而久之,當(dāng)大量用戶并發(fā)訪問(wèn)的時(shí)候,系統(tǒng)的Bug 就暴漏出來(lái)了,那時(shí)你再用熟悉的Eclipse打開(kāi)整個(gè)項(xiàng)目的源碼時(shí),再去看自己寫的代碼的時(shí)候,真的發(fā)現(xiàn),我們定義的這個(gè)變量名是什么意思啊 ? 我們的這個(gè)Flag 是用來(lái)判斷什么的啊 ?我們的if()中條件不知道是判斷什么? Function()也忘記是什么功能了? 想想好可怕啊。難道真的都忘記了嗎 ?回答是肯定的: 真的忘了。C.心得體會(huì): 通過(guò)做該網(wǎng)盤項(xiàng)目,在這2年的鍛煉中,我們才真的體會(huì)到,良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),一個(gè)好的程序是先寫好設(shè)計(jì)文檔再進(jìn)行編程的,在設(shè)計(jì)文檔的指導(dǎo)下,才能寫出安全的代碼。如果你不寫文檔,一開(kāi)始就寫程序,這樣你就不會(huì)按已設(shè)計(jì)好的路線走,而是想到哪寫到哪。小功能還好說(shuō),要是大功能,就容易混亂.常熟理工學(xué)院SIG小組
3/28/2013
剛開(kāi)始我們還很不習(xí)慣這一系列的編程風(fēng)格,很多的規(guī)范,尤其是命名,方法和注釋,都有這著很多限制,讓我們覺(jué)得真羅唆,寫個(gè)程序完成功能不就可以了嗎,明明1小時(shí)做完的事情非得讓人用3、4個(gè)小時(shí)去做,我們現(xiàn)在真的明白這樣做的好處了,我們已經(jīng)習(xí)慣這樣的編程風(fēng)格了,這也養(yǎng)成了我們的一個(gè)編程習(xí)慣了,深有體會(huì)啊。
最忙的時(shí)候就是我們成長(zhǎng)和收獲最多的時(shí)候。
八、網(wǎng)盤項(xiàng)目開(kāi)發(fā)的最大體會(huì)
我們覺(jué)得項(xiàng)目開(kāi)發(fā)的開(kāi)始時(shí)候,應(yīng)該由項(xiàng)目負(fù)責(zé)人很好的對(duì)項(xiàng)目是什么項(xiàng)目,具體大概做什么事情,是誰(shuí)提出來(lái)的,目的是解決什么問(wèn)題,以及里面用到的很多專有名詞做個(gè)細(xì)致的說(shuō)明,而不是從一開(kāi)始就分幾本式樣書,給個(gè)靜態(tài)Html 的Demo看看,然后搭建好開(kāi)發(fā)環(huán)境就按照式樣設(shè)計(jì)書來(lái)開(kāi)發(fā)。
九、軟件測(cè)試(單體測(cè)試和連接測(cè)試)
我們首先認(rèn)為,編寫程序的時(shí)候不要想出了問(wèn)題再解決,而是要想如何不會(huì)出現(xiàn)問(wèn)題,要根據(jù)經(jīng)驗(yàn)來(lái)預(yù)測(cè)可能出現(xiàn)的問(wèn)題,然后避免出現(xiàn)。
測(cè)試,說(shuō)的直接點(diǎn)就是給軟件找錯(cuò)誤。
很多人認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目的,查找不出錯(cuò)誤的測(cè)試就是沒(méi)有價(jià)值的測(cè)試,實(shí)際上我們不這么認(rèn)為。
我們覺(jué)得對(duì)開(kāi)發(fā)人員來(lái)說(shuō),我們要把測(cè)試出來(lái)的Bug都應(yīng)該做個(gè)分析,知道錯(cuò)的原因之后,我們就應(yīng)該在下個(gè)項(xiàng)目中防止類似的錯(cuò)誤發(fā)生,而真正來(lái)提高我們開(kāi)發(fā)的效率。
常熟理工學(xué)院SIG小組
3/28/2013