




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
余偉軟件項(xiàng)目的編碼軟件項(xiàng)目的編碼1目錄6.1編碼概述6.2編碼方法6.3編碼策略6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范目錄26.1編碼概述
維護(hù)
產(chǎn)品提交
測試
編碼
詳細(xì)設(shè)計(jì)
概要設(shè)計(jì)
需求分析6.1編碼概述36.1編碼概述6.1編碼概述46.1編碼概述看不下去!重寫程序!找到原作者,暴打一頓!炒他魷魚,他不走我走!6.1編碼概述看不下去!56.1編碼概述編碼是軟件設(shè)計(jì)的自然結(jié)果,因此,程序的質(zhì)量主要取決于軟件設(shè)計(jì)質(zhì)量,但是所選用的程序設(shè)計(jì)語言的特點(diǎn)和編碼風(fēng)格,也會對程序的可靠性、可讀性、可測試性和可維護(hù)性產(chǎn)生深遠(yuǎn)影響!6.1編碼概述編碼是軟件設(shè)計(jì)的自然結(jié)果,因此,程序的質(zhì)量主要66.1編碼概述編碼過程的一個重要標(biāo)準(zhǔn)是編程與設(shè)計(jì)的對應(yīng)性和統(tǒng)一性。如果編碼沒有按照設(shè)計(jì)的要求進(jìn)行,設(shè)計(jì)就沒有意義了。設(shè)計(jì)過程中的算法、功能、接口、數(shù)據(jù)結(jié)構(gòu)都應(yīng)該在編碼過程中體現(xiàn)。6.1編碼概述編碼過程的一個重要標(biāo)準(zhǔn)是編程與設(shè)計(jì)的對應(yīng)性和統(tǒng)76.2.1結(jié)構(gòu)化編程1、控制結(jié)構(gòu)不能再被分解的模塊叫做原子模塊,如果一個軟件系統(tǒng)的全部實(shí)際工作都由原子模塊來完成,其他非原子模塊僅僅執(zhí)行控制或者協(xié)調(diào)功能,這樣的系統(tǒng)就是完全因子分解系統(tǒng),這是我們努力的目標(biāo)。模塊結(jié)構(gòu)分為:樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。6.2.1結(jié)構(gòu)化編程1、控制結(jié)構(gòu)86.2.1結(jié)構(gòu)化編程(1)樹狀結(jié)構(gòu)ABDGHICEF6.2.1結(jié)構(gòu)化編程(1)樹狀結(jié)構(gòu)ABDGHICEF96.2.1結(jié)構(gòu)化編程(1)樹狀結(jié)構(gòu)整個結(jié)構(gòu)只有一個頂層,上層調(diào)用下層模塊,同一層模塊間不能相互調(diào)用。6.2.1結(jié)構(gòu)化編程(1)樹狀結(jié)構(gòu)106.2.1結(jié)構(gòu)化編程(2)網(wǎng)狀結(jié)構(gòu)任意兩個模塊間都可以有調(diào)用關(guān)系,不存在上層模塊和下屬模塊的關(guān)系。DACB6.2.1結(jié)構(gòu)化編程(2)網(wǎng)狀結(jié)構(gòu)DACB116.2.1結(jié)構(gòu)化編程程序模塊的主要控制結(jié)構(gòu)在概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)中已經(jīng)確定,在編碼過程中要繼承設(shè)計(jì)中確定的結(jié)構(gòu),程序結(jié)構(gòu)要反映設(shè)計(jì)中的控制結(jié)構(gòu)。但是要避免以下情況出現(xiàn):GetMoney=min;If(age<70)gotoA;GetMoney=max;If(age<60)gotoB;A:……..B:……...6.2.1結(jié)構(gòu)化編程程序模塊的主要控制結(jié)構(gòu)在概要設(shè)計(jì)和詳細(xì)126.2.1結(jié)構(gòu)化編程2、算法在設(shè)計(jì)的時候可以對模塊的實(shí)現(xiàn)算法進(jìn)行描述和說明,但是在編碼實(shí)現(xiàn)這些算法時可以有很大的靈活性。一味追求代碼的運(yùn)行速度,有可能帶來隱含的成本:寫運(yùn)行速度更快的代碼,技術(shù)要復(fù)雜一些,需要花費(fèi)更多時間。在測試的時候,復(fù)雜技術(shù)需要更多的測試案例讀者可能需要話費(fèi)更多的時間閱讀代碼修改代碼的時間加長6.2.1結(jié)構(gòu)化編程2、算法136.2.1結(jié)構(gòu)化編程例如:如果程序中有一個三維數(shù)組,你為了增加效率而用一個一維數(shù)組代替三維數(shù)組的位置索引,這樣你的代碼是index=3*i+2*j+k;其實(shí),編譯器計(jì)算數(shù)組的索引位置是在注冊表中,速度很快的。6.2.1結(jié)構(gòu)化編程例如:如果程序中有一個三維數(shù)組,你為了146.2.1結(jié)構(gòu)化編程3、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的各個元素之間邏輯關(guān)系的一種表示。典型的數(shù)據(jù)結(jié)構(gòu)有:標(biāo)量項(xiàng)、順序表、鏈表、樹、網(wǎng)狀、n維空間。6.2.1結(jié)構(gòu)化編程3、數(shù)據(jù)結(jié)構(gòu)156.2.3面向?qū)ο缶幊填悾繉ο??屬性?方法?訪問控制:公共的?私有的?受保護(hù)的?6.2.3面向?qū)ο缶幊填悾繉ο??屬性?方法?66.3編程策略1、自頂向下的開發(fā)策略即從模塊的最高層次開始逐步向下編碼,在面向?qū)ο蟮南到y(tǒng)中,首先開發(fā)實(shí)現(xiàn)執(zhí)行的那個類(主類)。2、自底向上的開發(fā)策略先寫底層的工具類,然后高層調(diào)用底層,直至實(shí)現(xiàn)所有的類。3、自頂向下和自底向上方法的結(jié)合這種方法是常用的,頂層模塊一般是系統(tǒng)總體界面、初始化、配置等,可以先實(shí)現(xiàn),然后開始實(shí)現(xiàn)底層的基礎(chǔ)模塊。6.3編程策略1、自頂向下的開發(fā)策略176.3編碼策略4、現(xiàn)場模式的開發(fā)策略線程是執(zhí)行關(guān)鍵功能的最小模塊集合,他們可以來自設(shè)計(jì)層次的不同層,通過跨層次的交互來實(shí)現(xiàn)一定的功能??h城可以并行開發(fā)、獨(dú)立編寫和測試。需注意:確定編碼標(biāo)準(zhǔn)或者指南從其他項(xiàng)目中復(fù)用代碼讓自己能被其他線程復(fù)用按照詳細(xì)設(shè)計(jì)進(jìn)行設(shè)計(jì)到編碼的反復(fù)增加說明解釋文檔設(shè)計(jì)的屬性能在代碼中體現(xiàn)出來編碼語言盡可能使用設(shè)計(jì)的要求6.3編碼策略4、現(xiàn)場模式的開發(fā)策略186.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范第一代語言——機(jī)器語言第二代語言——匯編語言第三代語言——高級程序設(shè)計(jì)語言第四代語言——4gl6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范第一代語言——機(jī)器語言196.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范206.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范216.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范226.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范236.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范1、變量命名6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范1、變量命名246.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范1、變量命名6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范1、變量命名256.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范2、頭文件頭文件在每個程序的開頭位置,是對程序的介紹,包括:模塊的名字叫什么是完成的這個模塊在設(shè)計(jì)中這個模塊的位置模塊是何時編寫、修改模塊的重要性模塊中的數(shù)據(jù)結(jié)構(gòu)、算法和控制6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范2、頭文件266.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范3、程序注釋6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范3、程序注釋276.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范4、目錄6.4編碼語言與編碼標(biāo)準(zhǔn)和規(guī)范4、目錄28開發(fā)階段的日常管理(補(bǔ)充)1、閉門造車(LeaveMeAlone)開發(fā)時被不停的打斷,導(dǎo)致工作進(jìn)展低。是不是“封閉開發(fā)”就能避免干擾?bug一定要立即處理嗎?開發(fā)階段的日常管理(補(bǔ)充)1、閉門造車(LeaveMeA29開發(fā)階段的日常管理(補(bǔ)充)2、每日構(gòu)建什么是每日構(gòu)建?就是每天都把整個軟件項(xiàng)目自動編譯一遍,最終生成的產(chǎn)出物必須和交付到用戶手中的一樣。每日建構(gòu)的重要性和意義?每日構(gòu)建.docx開發(fā)階段的日常管理(補(bǔ)充)2、每日構(gòu)建30開發(fā)階段的日常管理(補(bǔ)充)3、構(gòu)建大師構(gòu)建失敗需注意:強(qiáng)調(diào)基本開發(fā)流程(編譯要產(chǎn)生debug和release兩個版本)簽入時,必須從TFS同步下載所有最新的版本在編譯簽入前,都要進(jìn)行單元測試和構(gòu)建驗(yàn)證測試開發(fā)階段的日常管理(補(bǔ)充)3、構(gòu)建大師31開發(fā)階段的日常管理(補(bǔ)充)3、構(gòu)建大師由于誰的失誤導(dǎo)致構(gòu)建失敗的,被
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025濟(jì)南市茶葉種植訂購合同
- 2025標(biāo)準(zhǔn)個人租房合同范本匯編
- 《文化旅游》課件
- 景區(qū)旅游市場營銷策略考核試卷
- 《職業(yè)病防治現(xiàn)狀》課件
- 2025化肥訂購合同范本
- 2024年09月廣東深圳市慢性病防治中心選聘2人筆試歷年專業(yè)考點(diǎn)(難、易錯點(diǎn))附帶答案詳解
- 現(xiàn)場作業(yè)隱患附帶標(biāo)準(zhǔn)連載
- 燈具的物聯(lián)網(wǎng)技術(shù)與應(yīng)用考核試卷
- 技能培訓(xùn)專題:8個餐飲企業(yè)風(fēng)險(xiǎn)告知牌
- 媒體宣發(fā)合同協(xié)議
- 變電站交、直流系統(tǒng)培訓(xùn)課件
- 2025-2030中國消毒器械行業(yè)發(fā)展分析及發(fā)展趨勢預(yù)測與投資價值研究報(bào)告
- 2025年環(huán)保知識競賽賽題及答案(共70題)
- 2025屆青海省西寧市高三一模語文試題(原卷版+解析版)
- 2025年杭州市高三歷史4月二模質(zhì)檢考試卷附答案解析
- 2025年中小學(xué)教師資格考試內(nèi)容分析試題及答案
- 職場溝通職場溝通與人際關(guān)系處理知到課后答案智慧樹章節(jié)測試答案2025年春山東管理學(xué)院
- AQ 1083-2011 煤礦建設(shè)安全規(guī)范 (正式版)
- DZ∕T 0148-2014 水文水井地質(zhì)鉆探規(guī)程(正式版)
- 優(yōu)秀教案:接觸器聯(lián)鎖正反轉(zhuǎn)控制線路的檢修與測試
評論
0/150
提交評論