第14章-综合实践_第1页
第14章-综合实践_第2页
第14章-综合实践_第3页
第14章-综合实践_第4页
第14章-综合实践_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人民邮电出版社14综合实践Java程序设计第章导读Introduction学习Java的语法规则,学习Java的实用类,目的是为了用Java编程序。本章给出几个典型程序设计问题,作为课程实践题目,可以利用前面各章所学,分析问题,解决问题。14.2谈谈重构14.3实践题目14.4小结14.1谈谈设计C目录ONTENTS做任何工作都要讲究方法。软件开发工作也如此。软件开发不是直接的写程序,在写程序之前需要为程序勾画蓝图,就是进行设计。UML就是用图形表达设计的工具。在设计过程中,明确软件的需求、软件的功能、软件的结构、采用的算法等内容,然后才由程序员按照设计写程序。(大家习惯说写代码)14.1.1设计与方法按照McCall的软件质量模型,用以下指标判定一个设计好不好:正确定、可靠性、效率、完整性、可用性、可维护性、可测试性、灵活性、可移植性、可复用性。在设计中坚持这些指标,体现在采用好的设计模式(相当于工作方法),还要通过重构改善设计,这需要一系列技术和方法。14.1.2好的设计14.2谈谈重构14.3实践题目14.4小结14.1谈谈设计C目录ONTENTS14.2重构的基本概念1、城市中各种管道的敷设工程的重构对比软件工程的许多术语来自于建筑工程。我们可以从城市基础设施的案例了解软件工程中重构这一术语的含义。初始设计:挖凿路面重构设计:地下管廊

14.2重构的基本概念

2、软件的重构软件重构(refactoring)就是在不改变软件系统外部行为的前提下,改善它的内部结构。重构的目的是使软件有更好的性能,更好地体现好软件的标准。重构就是软件设计和代码的持续改进。重构的技术很多,从标识符命名到程序结构的调整都是重构所覆盖的。重要的是,重构的时候可以导入设计模式。14.2谈谈重构14.3实践题目14.4小结14.1谈谈设计C目录ONTENTSPracticemakesperfect.学语言应该重视实践,这是个共识。问题是如何做到循序渐进?大量的编程训练是需要的,但是,还需要不断走出个人的“舒适区”。要研究更具复杂度综合性的问题,要在程序设计中运用更多的语言知识、更难的算法、更复杂的结构。14.3实践题目1、题目说明教师对学生成绩进行处理,包括成绩录入、成绩统计、成绩排序、成绩查询、输出成绩单等。输入成绩一般包括平时成绩和期末成绩,按照预设的比例折算为总成绩,例如平时占30%,期末占70%,根据各科成绩计算的绩点作为评奖和保送的依据。14.3.1学生成绩管理软件2、设计要求分别用文件和数据库存储成绩数据,给出两种设计和实现;14.3.1学生成绩管理软件从录入到报表各项功能均需要设计用户良好界面;功能包括(但不限于)教师、学生、管理员登录管理、成绩录入、成绩统计分析、成绩分析表生成、成绩排序、成绩查询、输出成绩单等。0102程序是用于计算的,有时候对计算的效率有较高的要求,就需要优化算法,提高速度。打个比方,计算sin(0.7),可选的方法包括用泰勒公式计算,也可以查数学用表。一般而言,查表的方法更快。本例要求用表格驱动算法计算CRC(CyclicRedundancyCheck),如果对此术语尚不熟悉,则可视其为一个单纯的二进制的算术题。14.3.2表格驱动的计算1、CRC和长除法CRC是网络上传输数据是否出错的一种验证方法。简单说就是在传输的数据后用若干冗余位,一同传输到接收端。所加的冗余位有不同的计算方法,CRC采用一种二进制异或运算,用长除法计算得到冗余位数据。具体算法举例如下。14.3.2表格驱动的计算

设要发送的数据为10101011,记为s(x),我们需要一个g(x),它与网络有关,例如g(x)=1001,在s(x)后可加3位冗余数据r(x)。r(x)的计算过程是:14.3.2表格驱动的计算发送的数据为s(x)~r(x)=101010111002、表格驱动分析长除法过程可以发现,一次观察原始数据(被除数)1位效率低下,可以一次看多位,例如本例中取3位。根据参与运算的3个数据的位模式(bitspattern),可以建立表格,计算的时候,根据数据匹配哪个位模式,可以得出中间结果直至得到最终的r(x)。14.3.2表格驱动的计算

14.3.2表格驱动的计算3、创建表,然后思考如何在程序中利用表驱动计算求值pq=p^000÷CC×q000000000000001001001101010011010___0110__011___100111100011101110101110110100110___111___111___完成填空即完成见表,关键问题是程序中怎么用这个表。1、题目说明

单位的办公楼内电梯运行有一定的控制逻辑,比如相邻的2部电梯在静止状态可能一个在顶楼,一个停在一楼。为了调试电梯,需要程序模拟电梯运行的状况,在模拟系统中找出安全合理的高效节电的运行模式。14.3.3电梯运行模拟14.3.3电梯运行模拟2、设计要求1234分析设计模拟系统所需要的类,给出UML表示的设计改进初始设计,观察对比改进的设计与初始设计的功能和性能差异描述电梯运行的控制逻辑,说明理由按设计写出模拟程序,调试运行5利用多线程知识、GUI知识给出不同版本的设计14.2谈谈重构14.3实践题目14.4小结14.1谈谈设计C目录ONTENTS小结Summary本节所介绍的3个实践题目,分别对应于面向对象技术的基本操作、提高计算效率的算法设计、多线程问题中线程之间的通信和同步控制问题。若论难度和综合性,虽然比各章的例题习题有所提高,但是,读者经认真分析和设计是完全可以顺利完成的。在此基础上,应主动接触更复杂一些的问题,逐渐地提高自己的编程能力。人民邮电出版社谢谢观赏Java程序设计海量图书方便查询免费申请样书下载配套资源优惠购书成为作者更多样书申请和资源下载需求,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论