freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件開(kāi)發(fā)流程規(guī)范-資料下載頁(yè)

2025-04-09 07:00本頁(yè)面
  

【正文】 的參數(shù)為假,那么程序就會(huì)中止(一般地還會(huì)出現(xiàn)提示對(duì)話,說(shuō)明在什么地方引發(fā)了assert)。 void *memcpy(void *pvTo, const void *pvFrom, size_t size){ assert((pvTo != NULL) amp。amp。 (pvFrom != NULL))。 // 使用斷言 byte *pbTo = (byte *) pvTo。 // 防止改變pvTo的地址 byte *pbFrom = (byte *) pvFrom。 // 防止改變pvFrom的地址 while(size 0 ) *pbTo ++ = *pbFrom ++ 。 return pvTo。} 復(fù)制不重疊的內(nèi)存塊 assert不是一個(gè)倉(cāng)促拼湊起來(lái)的宏。為了不在程序的Debug版本和Release版本引起差別,assert不應(yīng)該產(chǎn)生任何副作用。所以assert不是函數(shù),而是宏。程序員可以把a(bǔ)ssert看成一個(gè)在任何系統(tǒng)狀態(tài)下都可以安全使用的無(wú)害測(cè)試手段。如果程序在assert處終止了,并不是說(shuō)含有該assert的函數(shù)有錯(cuò)誤,而是調(diào)用者出了差錯(cuò),assert可以幫助我們找到發(fā)生錯(cuò)誤的原因?!?【】 使用斷言捕捉不應(yīng)該發(fā)生的非法情況,不要混淆非法情況與錯(cuò)誤情況之間的區(qū)別,后者是必然存在的并且是一定要作出處理的;☆ 【】 在函數(shù)的入口處,使用斷言檢查參數(shù)的有效性(合法性);☆ 【】 在編寫(xiě)函數(shù)時(shí),要進(jìn)行反復(fù)的考查,并且自問(wèn):“我打算做哪些假定?”一旦確定了的假定,就要使用斷言對(duì)假定進(jìn)行檢查;☆ 【】 一般教科書(shū)都鼓勵(lì)程序員們進(jìn)行防錯(cuò)設(shè)計(jì),但要記住這種編程風(fēng)格可能會(huì)隱瞞錯(cuò)誤。當(dāng)進(jìn)行防錯(cuò)設(shè)計(jì)時(shí),如果“不可能發(fā)生”的事情的確發(fā)生了,則要使用斷言進(jìn)行報(bào)警。 引用與指針的比較引用是C++中的概念,初學(xué)者容易把引用和指針混淆一起。一下程序中,n是m的一個(gè)引用(reference),m是被引用物(referent)。 int m。 int amp。n = m。n相當(dāng)于m的別名(綽號(hào)),對(duì)n的任何操作就是對(duì)m的操作。所以n既不是m的拷貝,也不是指向m的指針,其實(shí)n就是m它自己。引用的一些規(guī)則如下:(1) 引用被創(chuàng)建的同時(shí)必須被初始化(指針則可以在任何時(shí)候被初始化);(2) 不能有NULL引用,引用必須與合法的存儲(chǔ)單元關(guān)聯(lián)(指針則可以是NULL);(3) 一旦引用被初始化,就不能改變引用的關(guān)系(指針則可以隨時(shí)改變所指的對(duì)象)。 以下示例程序中,k被初始化為i的引用。語(yǔ)句k = j并不能將k修改成為j的引用,只是把k的值改變成為6。由于k是i的引用,所以i的值也變成了6。 int i = 5。 int j = 6。 int amp。k = i。 k = j。 // k和i的值都變成了6。 上面的程序看起來(lái)象在玩文字游戲,沒(méi)有體現(xiàn)出引用的價(jià)值。引用的主要功能是傳遞函數(shù)的參數(shù)和返回值。C++語(yǔ)言中,函數(shù)的參數(shù)和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。 以下是“值傳遞”的示例程序。由于Func1函數(shù)體內(nèi)的x是外部變量n的一份拷貝,改變x的值不會(huì)影響n, 所以n的值仍然是0。 void Func1(int x){ x = x + 10。}…int n = 0。 Func1(n)。 cout “n = ” n endl。 // n = 0 以下是“指針傳遞”的示例程序。由于Func2函數(shù)體內(nèi)的x是指向外部變量n的指針,改變?cè)撝羔樀膬?nèi)容將導(dǎo)致n的值改變,所以n的值成為10。 void Func2(int *x){ (* x) = (* x) + 10。}…int n = 0。 Func2(amp。n)。 cout “n = ” n endl。 // n = 10 以下是“引用傳遞”的示例程序。由于Func3函數(shù)體內(nèi)的x是外部變量n的引用,x和n是同一個(gè)東西,改變x等于改變n,所以n的值成為10。 void Func3(int amp。x){ x = x + 10。}…int n = 0。 Func3(n)。 cout “n = ” n endl。 // n = 10對(duì)比上述三個(gè)示例程序,會(huì)發(fā)現(xiàn)“引用傳遞”的性質(zhì)象“指針傳遞”,而書(shū)寫(xiě)方式象“值傳遞”。 變量類型定義類 型規(guī) 則范 例bool(BOOL)用b開(kāi)頭bIsParentbyte(BYTE)用by開(kāi)頭byFlagshort(SHORT)用n開(kāi)頭nFileLenint(INT)用n開(kāi)頭nStepCountlong(LONG)用l開(kāi)頭lSizechar(CHAR)用ch開(kāi)頭chCountunsigned short(WORD)用w開(kāi)頭wLengthunsigned long(DWORD)用dw開(kāi)頭dwBroadvoid(VOID)用v開(kāi)頭vVariant用0結(jié)尾的字符串用sz開(kāi)頭szFileNameLPCSTR(LPCTSTR)用str開(kāi)頭strStringHANDLE(HINSTANCE)用h開(kāi)頭hHandlestruct用blk開(kāi)頭blkTemplateBYTE*用pb開(kāi)頭pbValueWORD*用pw開(kāi)頭pwValueLONG*用pl開(kāi)頭plValue四、軟件測(cè)試規(guī)范為了確保軟件產(chǎn)品質(zhì)量,使產(chǎn)品能夠順利交付和通過(guò)驗(yàn)收,特編寫(xiě)軟件測(cè)試規(guī)范,以作參考 測(cè)試的依據(jù)來(lái)源于《系統(tǒng)需求說(shuō)明書(shū)》、《詳細(xì)設(shè)計(jì)》、《技術(shù)協(xié)議》等有關(guān)資料。開(kāi)發(fā)人員按照需求說(shuō)明書(shū)進(jìn)行軟件開(kāi)發(fā)和測(cè)試。 測(cè)試之前要明確每次測(cè)試的目的,必要時(shí)可以編寫(xiě)《測(cè)試計(jì)劃》,必須明確采用的測(cè)試環(huán)境、工具和測(cè)試軟件;采用的測(cè)試用例、測(cè)試數(shù)據(jù)和預(yù)期的結(jié)果,以達(dá)到不放過(guò)一個(gè)小的bug。下面介紹幾種常用的方法,僅作參考,如果開(kāi)發(fā)人員有好的測(cè)試方法,可以隨時(shí)添加該文檔的內(nèi)容。 單元測(cè)試項(xiàng)目開(kāi)發(fā)實(shí)現(xiàn)過(guò)程中,每個(gè)程序單元(程序單元的劃分視具體開(kāi)發(fā)工具而定,一般定為函數(shù)或子程序級(jí))編碼調(diào)試通過(guò)后,要及時(shí)進(jìn)行單元測(cè)試。單元測(cè)試由使用白盒測(cè)試方法,根據(jù)程序單元的控制流程,爭(zhēng)取達(dá)到分支覆蓋。對(duì)于交互式運(yùn)行的產(chǎn)品,不便于進(jìn)行自動(dòng)測(cè)試的,可以采用功能測(cè)試的方法進(jìn)行。單元測(cè)試針對(duì)程序模塊,從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。多個(gè)模塊可以獨(dú)立進(jìn)行單元測(cè)試。216。 單元測(cè)試內(nèi)容包括模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試等;216。 單元測(cè)試組織原則一遍根據(jù)開(kāi)發(fā)進(jìn)度安排對(duì)已開(kāi)發(fā)完成的單一模塊進(jìn)行測(cè)試;單元測(cè)試停止標(biāo)準(zhǔn):完成了所有規(guī)定單元的測(cè)試,單元測(cè)試中發(fā)現(xiàn)的bug已經(jīng)得到修改。 系統(tǒng)測(cè)試在項(xiàng)目開(kāi)發(fā)完成之后,應(yīng)對(duì)整個(gè)系統(tǒng)軟件和硬件進(jìn)行系統(tǒng)測(cè)試。對(duì)性能、可靠性、健壯性、壓力承受力等方面分別進(jìn)行評(píng)價(jià),以驗(yàn)證系統(tǒng)是否滿足規(guī)定的需要。系統(tǒng)測(cè)試一般進(jìn)行如下幾種情況的測(cè)試:216。 正常情況216。 非正常情況216。 破壞性測(cè)試216。 邊界情況216。 非法情況216。 強(qiáng)度測(cè)試216。 性能測(cè)試216。 兼容性測(cè)試216。 用戶友好性測(cè)試界面設(shè)計(jì)規(guī)范測(cè)試:216。 光標(biāo)的初始位置216。 字體是否統(tǒng)一216。 字號(hào)是否符合規(guī)定216。 標(biāo)題顏色216。 按鈕的名稱是否規(guī)范216。 界面布局是否合理,整體效果如何輸入值測(cè)試:216。 數(shù)據(jù)類型216。 數(shù)據(jù)長(zhǎng)度216。 約束條件是否滿足,是否完整216。 TAB和Enter鍵是否起作用216。 鍵盤(pán)操作能否全部代替鼠標(biāo)操作216。 輸入(光標(biāo))是否按照順序前進(jìn)按鈕測(cè)試:216。 將按鈕放開(kāi)和封閉是否嚴(yán)格、準(zhǔn)確,不能使用的按鈕必須封閉216。 檢查“退出”、“取消”等具有共性按鈕的功能異常情況測(cè)試:在完成正常功能測(cè)試后,安正常處理的相同操作順序,執(zhí)行與正常處理不同的動(dòng)作例如216。 正常處理中要求輸入日期的字段,這時(shí)輸入字符或數(shù)字216。 正常處理中輸入字段有范圍要求,這時(shí)輸入超過(guò)范圍的值216。 正常處理中用兩個(gè)值限定范圍,這時(shí)用一個(gè)值或不限定216。 正常處理中要求用“Tab”鍵,這時(shí)安“Enter”鍵或其他鍵216。 正常處理中單選框、多選框、下拉框等,十一偶那個(gè)非指定鍵操作216。 使用不同于指定的按鈕操作 業(yè)務(wù)測(cè)試在系統(tǒng)測(cè)試結(jié)束后,均可由最終用戶或測(cè)試人員對(duì)系統(tǒng)進(jìn)行測(cè)試。業(yè)務(wù)測(cè)試著重測(cè)試業(yè)務(wù)流程,功能、用戶界面等方面。 驗(yàn)收測(cè)試提交驗(yàn)收的軟件系統(tǒng)版本要求如下:216。 完成了單元測(cè)試、系統(tǒng)測(cè)試和業(yè)務(wù)測(cè)試。216。 軟件版本滿足設(shè)計(jì)定義的各項(xiàng)功能、性能要求216。 提交的數(shù)據(jù)庫(kù)腳本樣本需要完整,沒(méi)有冗余數(shù)據(jù)216。 在所有測(cè)試中發(fā)現(xiàn)的bug已經(jīng)得到解決,各級(jí)缺陷修改率達(dá)到標(biāo)準(zhǔn)216。 軟件需求分析說(shuō)明書(shū)中定義的所有功能都已經(jīng)實(shí)現(xiàn),性能指標(biāo)全部達(dá)到性能需求指標(biāo)216。 所有文檔齊備完整 用戶現(xiàn)場(chǎng)測(cè)試將軟件部署到用戶實(shí)際生產(chǎn)環(huán)境后,由于環(huán)境差異,需要在用戶現(xiàn)場(chǎng)進(jìn)行確認(rèn)測(cè)試,保證系統(tǒng)功能、性能完備,可正常運(yùn)行。測(cè)試內(nèi)容:216。 根據(jù)軟件系統(tǒng)規(guī)模,準(zhǔn)備現(xiàn)場(chǎng)測(cè)試用例,涵蓋所有重要功能點(diǎn),若規(guī)模小,需要將全部功能點(diǎn)全部測(cè)試一遍216。 對(duì)于后臺(tái)已定義好的工作流、功能欄目路徑以及用戶信息等數(shù)據(jù),不可進(jìn)行修改和刪除操作,新增的測(cè)試數(shù)據(jù)也需要在測(cè)試完成后給予清楚216。 重點(diǎn)檢查上傳、下載的數(shù)據(jù)是否可以正常的打開(kāi)或保存216。 確認(rèn)界面美觀,基本信息和鏈接無(wú)錯(cuò)誤216。 考慮用戶實(shí)際的軟件環(huán)境和網(wǎng)絡(luò)環(huán)境,以客戶端最為復(fù)雜的軟硬件環(huán)境作為測(cè)試機(jī)器,檢查有無(wú)異常情況出現(xiàn)針對(duì)前期發(fā)現(xiàn)的bug進(jìn)行回歸測(cè)試,以保證發(fā)布版本為最新版本。五、軟件版本管理軟件項(xiàng)目完全由一個(gè)人來(lái)完成是難以想象的,通常是有一個(gè)研發(fā)小組來(lái)共同分析、設(shè)計(jì)、編碼和維護(hù)。許多因素都有可能導(dǎo)致對(duì)軟件的修改,小的可能只是對(duì)某個(gè)源文件中的某個(gè)變量的定義改動(dòng),大到重新設(shè)計(jì)程序模塊甚至可能是整個(gè)需求分析變動(dòng)。由于軟件開(kāi)發(fā)所固有的特征,可能會(huì)形成眾多的軟件版本,而且我們并不能保證不出現(xiàn)錯(cuò)誤的修改。所以必須要進(jìn)行版本管理。以往的那種被譽(yù)為具有良好編程風(fēng)格的做法,諸如在對(duì)他人的源程序進(jìn)行修改時(shí)注釋修改原因,修改人和日期,如果是多個(gè)成員同時(shí)進(jìn)行了修改,那么需要進(jìn)行及時(shí)的人工的差異比較和綜合以便形成一個(gè)統(tǒng)一的新版本。這種做法在當(dāng)前的大型軟件的開(kāi)發(fā)中已經(jīng)越來(lái)越?jīng)]有空間了,可以說(shuō)是一種以小作坊的形式來(lái)面對(duì)軟件的社會(huì)化大生產(chǎn),再也不可能行得通了,這樣會(huì)出現(xiàn)版本控制問(wèn)題。版本控制出現(xiàn)問(wèn)題就會(huì)出現(xiàn),代碼管理混亂、解決代碼沖突困難、在代碼整合期間引入深層BUG、無(wú)法對(duì)代碼的擁有者進(jìn)行權(quán)限控制,特別是對(duì)產(chǎn)品的開(kāi)發(fā),你會(huì)頻繁的進(jìn)行版本發(fā)布,這時(shí)如果沒(méi)有一個(gè)有效的管理產(chǎn)品版本的工具,一切將變得非常艱難 1. 怎樣對(duì)研發(fā)項(xiàng)目進(jìn)行整體管理;2. 項(xiàng)目開(kāi)發(fā)小組的成員之間如何以一種有效的機(jī)制進(jìn)行協(xié)調(diào);3. 如何進(jìn)行對(duì)小組成員各自承擔(dān)的子項(xiàng)目的統(tǒng)一管理;4. 如何對(duì)研發(fā)小組各成員所作的修改進(jìn)行統(tǒng)一匯總;5. 如何保留修改的軌跡,以便撤銷錯(cuò)誤的改動(dòng);6. 對(duì)在研發(fā)過(guò)程中形成的軟件的各個(gè)版本如何進(jìn)行標(biāo)識(shí),管理及差異識(shí)辨。我們必須要引進(jìn)一種管理機(jī)制,一個(gè)版本管理機(jī)制,而且是廣義上的版本管理,它不僅需要對(duì)源代碼的版本進(jìn)行管理,而且還要對(duì)整個(gè)項(xiàng)目進(jìn)行管理,必須使用版本控制工具。40
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1