版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
人民郵電出版社14綜合實(shí)踐Java程序設(shè)計(jì)第章導(dǎo)讀Introduction學(xué)習(xí)Java的語法規(guī)則,學(xué)習(xí)Java的實(shí)用類,目的是為了用Java編程序。本章給出幾個(gè)典型程序設(shè)計(jì)問題,作為課程實(shí)踐題目,可以利用前面各章所學(xué),分析問題,解決問題。14.2談?wù)勚貥?gòu)14.3實(shí)踐題目14.4小結(jié)14.1談?wù)勗O(shè)計(jì)C目錄ONTENTS做任何工作都要講究方法。軟件開發(fā)工作也如此。軟件開發(fā)不是直接的寫程序,在寫程序之前需要為程序勾畫藍(lán)圖,就是進(jìn)行設(shè)計(jì)。UML就是用圖形表達(dá)設(shè)計(jì)的工具。在設(shè)計(jì)過程中,明確軟件的需求、軟件的功能、軟件的結(jié)構(gòu)、采用的算法等內(nèi)容,然后才由程序員按照設(shè)計(jì)寫程序。(大家習(xí)慣說寫代碼)14.1.1設(shè)計(jì)與方法按照McCall的軟件質(zhì)量模型,用以下指標(biāo)判定一個(gè)設(shè)計(jì)好不好:正確定、可靠性、效率、完整性、可用性、可維護(hù)性、可測試性、靈活性、可移植性、可復(fù)用性。在設(shè)計(jì)中堅(jiān)持這些指標(biāo),體現(xiàn)在采用好的設(shè)計(jì)模式(相當(dāng)于工作方法),還要通過重構(gòu)改善設(shè)計(jì),這需要一系列技術(shù)和方法。14.1.2好的設(shè)計(jì)14.2談?wù)勚貥?gòu)14.3實(shí)踐題目14.4小結(jié)14.1談?wù)勗O(shè)計(jì)C目錄ONTENTS14.2重構(gòu)的基本概念1、城市中各種管道的敷設(shè)工程的重構(gòu)對(duì)比軟件工程的許多術(shù)語來自于建筑工程。我們可以從城市基礎(chǔ)設(shè)施的案例了解軟件工程中重構(gòu)這一術(shù)語的含義。初始設(shè)計(jì):挖鑿路面重構(gòu)設(shè)計(jì):地下管廊
14.2重構(gòu)的基本概念
2、軟件的重構(gòu)軟件重構(gòu)(refactoring)就是在不改變軟件系統(tǒng)外部行為的前提下,改善它的內(nèi)部結(jié)構(gòu)。重構(gòu)的目的是使軟件有更好的性能,更好地體現(xiàn)好軟件的標(biāo)準(zhǔn)。重構(gòu)就是軟件設(shè)計(jì)和代碼的持續(xù)改進(jìn)。重構(gòu)的技術(shù)很多,從標(biāo)識(shí)符命名到程序結(jié)構(gòu)的調(diào)整都是重構(gòu)所覆蓋的。重要的是,重構(gòu)的時(shí)候可以導(dǎo)入設(shè)計(jì)模式。14.2談?wù)勚貥?gòu)14.3實(shí)踐題目14.4小結(jié)14.1談?wù)勗O(shè)計(jì)C目錄ONTENTSPracticemakesperfect.學(xué)語言應(yīng)該重視實(shí)踐,這是個(gè)共識(shí)。問題是如何做到循序漸進(jìn)?大量的編程訓(xùn)練是需要的,但是,還需要不斷走出個(gè)人的“舒適區(qū)”。要研究更具復(fù)雜度綜合性的問題,要在程序設(shè)計(jì)中運(yùn)用更多的語言知識(shí)、更難的算法、更復(fù)雜的結(jié)構(gòu)。14.3實(shí)踐題目1、題目說明教師對(duì)學(xué)生成績進(jìn)行處理,包括成績錄入、成績統(tǒng)計(jì)、成績排序、成績查詢、輸出成績單等。輸入成績一般包括平時(shí)成績和期末成績,按照預(yù)設(shè)的比例折算為總成績,例如平時(shí)占30%,期末占70%,根據(jù)各科成績計(jì)算的績點(diǎn)作為評(píng)獎(jiǎng)和保送的依據(jù)。14.3.1學(xué)生成績管理軟件2、設(shè)計(jì)要求分別用文件和數(shù)據(jù)庫存儲(chǔ)成績數(shù)據(jù),給出兩種設(shè)計(jì)和實(shí)現(xiàn);14.3.1學(xué)生成績管理軟件從錄入到報(bào)表各項(xiàng)功能均需要設(shè)計(jì)用戶良好界面;功能包括(但不限于)教師、學(xué)生、管理員登錄管理、成績錄入、成績統(tǒng)計(jì)分析、成績分析表生成、成績排序、成績查詢、輸出成績單等。0102程序是用于計(jì)算的,有時(shí)候?qū)τ?jì)算的效率有較高的要求,就需要優(yōu)化算法,提高速度。打個(gè)比方,計(jì)算sin(0.7),可選的方法包括用泰勒公式計(jì)算,也可以查數(shù)學(xué)用表。一般而言,查表的方法更快。本例要求用表格驅(qū)動(dòng)算法計(jì)算CRC(CyclicRedundancyCheck),如果對(duì)此術(shù)語尚不熟悉,則可視其為一個(gè)單純的二進(jìn)制的算術(shù)題。14.3.2表格驅(qū)動(dòng)的計(jì)算1、CRC和長除法CRC是網(wǎng)絡(luò)上傳輸數(shù)據(jù)是否出錯(cuò)的一種驗(yàn)證方法。簡單說就是在傳輸?shù)臄?shù)據(jù)后用若干冗余位,一同傳輸?shù)浇邮斩?。所加的冗余位有不同的?jì)算方法,CRC采用一種二進(jìn)制異或運(yùn)算,用長除法計(jì)算得到冗余位數(shù)據(jù)。具體算法舉例如下。14.3.2表格驅(qū)動(dòng)的計(jì)算
設(shè)要發(fā)送的數(shù)據(jù)為10101011,記為s(x),我們需要一個(gè)g(x),它與網(wǎng)絡(luò)有關(guān),例如g(x)=1001,在s(x)后可加3位冗余數(shù)據(jù)r(x)。r(x)的計(jì)算過程是:14.3.2表格驅(qū)動(dòng)的計(jì)算發(fā)送的數(shù)據(jù)為s(x)~r(x)=101010111002、表格驅(qū)動(dòng)分析長除法過程可以發(fā)現(xiàn),一次觀察原始數(shù)據(jù)(被除數(shù))1位效率低下,可以一次看多位,例如本例中取3位。根據(jù)參與運(yùn)算的3個(gè)數(shù)據(jù)的位模式(bitspattern),可以建立表格,計(jì)算的時(shí)候,根據(jù)數(shù)據(jù)匹配哪個(gè)位模式,可以得出中間結(jié)果直至得到最終的r(x)。14.3.2表格驅(qū)動(dòng)的計(jì)算
14.3.2表格驅(qū)動(dòng)的計(jì)算3、創(chuàng)建表,然后思考如何在程序中利用表驅(qū)動(dòng)計(jì)算求值pq=p^000÷CC×q000000000000001001001101010011010___0110__011___100111100011101110101110110100110___111___111___完成填空即完成見表,關(guān)鍵問題是程序中怎么用這個(gè)表。1、題目說明
單位的辦公樓內(nèi)電梯運(yùn)行有一定的控制邏輯,比如相鄰的2部電梯在靜止?fàn)顟B(tài)可能一個(gè)在頂樓,一個(gè)停在一樓。為了調(diào)試電梯,需要程序模擬電梯運(yùn)行的狀況,在模擬系統(tǒng)中找出安全合理的高效節(jié)電的運(yùn)行模式。14.3.3電梯運(yùn)行模擬14.3.3電梯運(yùn)行模擬2、設(shè)計(jì)要求1234分析設(shè)計(jì)模擬系統(tǒng)所需要的類,給出UML表示的設(shè)計(jì)改進(jìn)初始設(shè)計(jì),觀察對(duì)比改進(jìn)的設(shè)計(jì)與初始設(shè)計(jì)的功能和性能差異描述電梯運(yùn)行的控制邏輯,說明理由按設(shè)計(jì)寫出模擬程序,調(diào)試運(yùn)行5利用多線程知識(shí)、GUI知識(shí)給出不同版本的設(shè)計(jì)14.2談?wù)勚貥?gòu)14.3實(shí)踐題目14.4小結(jié)14.1談?wù)勗O(shè)計(jì)C目錄ONTENTS小結(jié)Summary本節(jié)所介紹的3個(gè)實(shí)踐題目,分別對(duì)應(yīng)于面向?qū)ο蠹夹g(shù)的基本操作、提高計(jì)算效率的算法設(shè)計(jì)、多線程問題中線程之間的通信和同步控制問題。若論難度和綜合性,雖然比各章的例題習(xí)題有所提高,但是,讀者經(jīng)認(rèn)真分析和設(shè)計(jì)是完全可以順利完成的。在此基礎(chǔ)上,應(yīng)主動(dòng)接觸更復(fù)雜一些的問題,逐漸地提高自己的編程能力。人民郵電出版社謝謝觀賞Java程序設(shè)計(jì)海量圖書方便查詢免費(fèi)申請(qǐng)樣書下載配套資源優(yōu)惠購書成為作者更多樣書申請(qǐng)和資源下載需求,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校天然氣管道鋪設(shè)合同
- 畢業(yè)典禮小學(xué)老師致辭15篇
- 建筑防水改造合同范本
- 電力企業(yè)財(cái)務(wù)內(nèi)控
- 體育行業(yè)風(fēng)險(xiǎn)防范
- 電力工程委托維修合同模板
- 國際貿(mào)易區(qū)按揭二手房合同
- 滑板場工程承包合同
- 紅色經(jīng)典編劇合作協(xié)議
- 旅游行業(yè)從業(yè)者健康篩查承諾書
- 計(jì)算機(jī)解決問題的過程-優(yōu)質(zhì)課課件
- 作文講評(píng)-“忘不了……”課件
- 深基坑安全管理(安全培訓(xùn))課件
- pep四年級(jí)上冊(cè)英語期中復(fù)習(xí)課件
- 12月4日全國法制宣傳日憲法日憲法知識(shí)科普宣教PPT教學(xué)課件
- 血液透析營養(yǎng)管理課件
- 神經(jīng)內(nèi)科醫(yī)療質(zhì)量評(píng)價(jià)體系考核標(biāo)準(zhǔn)
- 綠化監(jiān)理實(shí)施細(xì)則
- 2022天翼云認(rèn)證解決方案架構(gòu)師重點(diǎn)知識(shí)點(diǎn)整理(備考用)
- 急診護(hù)士分層次培訓(xùn)體系構(gòu)建與實(shí)踐課件
- 【課件】第4課 畫外之意-中國傳統(tǒng)花鳥畫、人物畫 課件-2022-2023學(xué)年高中美術(shù)人教版(2019)美術(shù)鑒賞
評(píng)論
0/150
提交評(píng)論