第14章-綜合實踐_第1頁
第14章-綜合實踐_第2頁
第14章-綜合實踐_第3頁
第14章-綜合實踐_第4頁
第14章-綜合實踐_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

人民郵電出版社14綜合實踐Java程序設(shè)計第章導(dǎo)讀Introduction學(xué)習(xí)Java的語法規(guī)則,學(xué)習(xí)Java的實用類,目的是為了用Java編程序。本章給出幾個典型程序設(shè)計問題,作為課程實踐題目,可以利用前面各章所學(xué),分析問題,解決問題。14.2談?wù)勚貥?gòu)14.3實踐題目14.4小結(jié)14.1談?wù)勗O(shè)計C目錄ONTENTS做任何工作都要講究方法。軟件開發(fā)工作也如此。軟件開發(fā)不是直接的寫程序,在寫程序之前需要為程序勾畫藍圖,就是進行設(shè)計。UML就是用圖形表達設(shè)計的工具。在設(shè)計過程中,明確軟件的需求、軟件的功能、軟件的結(jié)構(gòu)、采用的算法等內(nèi)容,然后才由程序員按照設(shè)計寫程序。(大家習(xí)慣說寫代碼)14.1.1設(shè)計與方法按照McCall的軟件質(zhì)量模型,用以下指標判定一個設(shè)計好不好:正確定、可靠性、效率、完整性、可用性、可維護性、可測試性、靈活性、可移植性、可復(fù)用性。在設(shè)計中堅持這些指標,體現(xiàn)在采用好的設(shè)計模式(相當于工作方法),還要通過重構(gòu)改善設(shè)計,這需要一系列技術(shù)和方法。14.1.2好的設(shè)計14.2談?wù)勚貥?gòu)14.3實踐題目14.4小結(jié)14.1談?wù)勗O(shè)計C目錄ONTENTS14.2重構(gòu)的基本概念1、城市中各種管道的敷設(shè)工程的重構(gòu)對比軟件工程的許多術(shù)語來自于建筑工程。我們可以從城市基礎(chǔ)設(shè)施的案例了解軟件工程中重構(gòu)這一術(shù)語的含義。初始設(shè)計:挖鑿路面重構(gòu)設(shè)計:地下管廊

14.2重構(gòu)的基本概念

2、軟件的重構(gòu)軟件重構(gòu)(refactoring)就是在不改變軟件系統(tǒng)外部行為的前提下,改善它的內(nèi)部結(jié)構(gòu)。重構(gòu)的目的是使軟件有更好的性能,更好地體現(xiàn)好軟件的標準。重構(gòu)就是軟件設(shè)計和代碼的持續(xù)改進。重構(gòu)的技術(shù)很多,從標識符命名到程序結(jié)構(gòu)的調(diào)整都是重構(gòu)所覆蓋的。重要的是,重構(gòu)的時候可以導(dǎo)入設(shè)計模式。14.2談?wù)勚貥?gòu)14.3實踐題目14.4小結(jié)14.1談?wù)勗O(shè)計C目錄ONTENTSPracticemakesperfect.學(xué)語言應(yīng)該重視實踐,這是個共識。問題是如何做到循序漸進?大量的編程訓(xùn)練是需要的,但是,還需要不斷走出個人的“舒適區(qū)”。要研究更具復(fù)雜度綜合性的問題,要在程序設(shè)計中運用更多的語言知識、更難的算法、更復(fù)雜的結(jié)構(gòu)。14.3實踐題目1、題目說明教師對學(xué)生成績進行處理,包括成績錄入、成績統(tǒng)計、成績排序、成績查詢、輸出成績單等。輸入成績一般包括平時成績和期末成績,按照預(yù)設(shè)的比例折算為總成績,例如平時占30%,期末占70%,根據(jù)各科成績計算的績點作為評獎和保送的依據(jù)。14.3.1學(xué)生成績管理軟件2、設(shè)計要求分別用文件和數(shù)據(jù)庫存儲成績數(shù)據(jù),給出兩種設(shè)計和實現(xiàn);14.3.1學(xué)生成績管理軟件從錄入到報表各項功能均需要設(shè)計用戶良好界面;功能包括(但不限于)教師、學(xué)生、管理員登錄管理、成績錄入、成績統(tǒng)計分析、成績分析表生成、成績排序、成績查詢、輸出成績單等。0102程序是用于計算的,有時候?qū)τ嬎愕男视休^高的要求,就需要優(yōu)化算法,提高速度。打個比方,計算sin(0.7),可選的方法包括用泰勒公式計算,也可以查數(shù)學(xué)用表。一般而言,查表的方法更快。本例要求用表格驅(qū)動算法計算CRC(CyclicRedundancyCheck),如果對此術(shù)語尚不熟悉,則可視其為一個單純的二進制的算術(shù)題。14.3.2表格驅(qū)動的計算1、CRC和長除法CRC是網(wǎng)絡(luò)上傳輸數(shù)據(jù)是否出錯的一種驗證方法。簡單說就是在傳輸?shù)臄?shù)據(jù)后用若干冗余位,一同傳輸?shù)浇邮斩恕K拥娜哂辔挥胁煌挠嬎惴椒?,CRC采用一種二進制異或運算,用長除法計算得到冗余位數(shù)據(jù)。具體算法舉例如下。14.3.2表格驅(qū)動的計算

設(shè)要發(fā)送的數(shù)據(jù)為10101011,記為s(x),我們需要一個g(x),它與網(wǎng)絡(luò)有關(guān),例如g(x)=1001,在s(x)后可加3位冗余數(shù)據(jù)r(x)。r(x)的計算過程是:14.3.2表格驅(qū)動的計算發(fā)送的數(shù)據(jù)為s(x)~r(x)=101010111002、表格驅(qū)動分析長除法過程可以發(fā)現(xiàn),一次觀察原始數(shù)據(jù)(被除數(shù))1位效率低下,可以一次看多位,例如本例中取3位。根據(jù)參與運算的3個數(shù)據(jù)的位模式(bitspattern),可以建立表格,計算的時候,根據(jù)數(shù)據(jù)匹配哪個位模式,可以得出中間結(jié)果直至得到最終的r(x)。14.3.2表格驅(qū)動的計算

14.3.2表格驅(qū)動的計算3、創(chuàng)建表,然后思考如何在程序中利用表驅(qū)動計算求值pq=p^000÷CC×q000000000000001001001101010011010___0110__011___100111100011101110101110110100110___111___111___完成填空即完成見表,關(guān)鍵問題是程序中怎么用這個表。1、題目說明

單位的辦公樓內(nèi)電梯運行有一定的控制邏輯,比如相鄰的2部電梯在靜止狀態(tài)可能一個在頂樓,一個停在一樓。為了調(diào)試電梯,需要程序模擬電梯運行的狀況,在模擬系統(tǒng)中找出安全合理的高效節(jié)電的運行模式。14.3.3電梯運行模擬14.3.3電梯運行模擬2、設(shè)計要求1234分析設(shè)計模擬系統(tǒng)所需要的類,給出UML表示的設(shè)計改進初始設(shè)計,觀察對比改進的設(shè)計與初始設(shè)計的功能和性能差異描述電梯運行的控制邏輯,說明理由按設(shè)計寫出模擬程序,調(diào)試運行5利用多線程知識、GUI知識給出不同版本的設(shè)計14.2談?wù)勚貥?gòu)14.3實踐題目14.4小結(jié)14.1談?wù)勗O(shè)計C目錄ONTENTS小結(jié)Summary本節(jié)所介紹的3個實踐題目,分別對應(yīng)于面向?qū)ο蠹夹g(shù)的基本操作、提高計算效率的算法設(shè)計、多線程問題中線程之間的通信和同步控制問題。若論難度和綜合性,雖然比各章的例題習(xí)題有所提高,但是,讀者經(jīng)認真分析和設(shè)計是完全可以順利完成的。在此基礎(chǔ)上,應(yīng)主動接觸更復(fù)雜一些的問題,逐漸地提高自己的編程能力。人民郵電出版社謝謝觀賞Java程序設(shè)計海量圖書方便查詢免費申請樣書下載配套資源優(yō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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論