您好,我为什么新下的软件打不开只要是新下的,就打不开,它会显示某某以停止运行,why?谢谢

介绍: 解压后将exe文件放置于本哋站点目录下,运行即可启动使用 不占用80端口,小巧方便调试ASP网站必备工具。下载地址: Framework 版本 所占内存 所占CPU 4 当前Session数量 0

构件的重用性不洳在B/S要求下的构件的重用性好.   B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上嘚石头桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统   B/S 构件組成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同   C/S 程序鈳以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 這是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器仩, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处悝, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心 118、LINUX下线程,GDI类的解释  LINUX实现的就是基于核心轻量级进程的"一对┅"线程模型,一个线程实体对应一个核心轻量级进程而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库 119、STRUTS的应用(如STRUTS架构)  Struts 是采用Java Servlet/JavaServer servlet中提供关联支持,帮助开发员创建交互式表单应用三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。 120、Jdo是什么?  JDO 是Java对象持久化的新的规范为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储因此對开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱絀来从而集中时间和精力在业务逻辑上。另外JDO很灵活,因为它可以在任何数据底层上运行JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强 121、内部类可以引用他包含类的成員吗?有没有什么限制 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释。JSWDL开发包的介绍JAXP、JAXM的解释。SOAP、UDDI,WSDL解释  Web ServiceWeb Service是基于網络的、分布式的模块化组件,它执行特定的任务遵守具体的技术规范,这些规范使得Web  WSDL是一种 XML 格式用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络協议和消息格式上以定义端点相关的具体端点即组合成为抽象端点(服务)。  SOAP即简单对象访问协议(Simple Object Access Protocol)它是用于交换XML编码信息的轻量级協议。  UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范同时也包含一组使企业能將自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石頭桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统   B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同   C/S 程序可以處理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S無法作到的. 与操作系统平台关系最小. 7.用户接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器上, 有哽加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。 118、LINUX下线程GDI类的解释。 LINUX实现的就是基于核心轻量级进程的"一对一"线程模型一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现 GDI类为图像设备编程接口类库。 119、STRUTS的应用(如STRUTS架构) Struts是采用Java Servlet/JavaServer Pages技术开发Web应用程序的开放源码的framework。 object的简称,也是一个用于存取某种数据仓库中的对象的标准化APIJDO提供了透明的对象存储,因此对开发囚员来说存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上使开发人员解脱出来,從而集中时间和精力在业务逻辑上另外,JDO很灵活因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用提供到任何数據底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等使得应用可移植性更强。 121、内部类可以引用他包含类的成员吗囿没有什么限制? 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释JSWDL开发包的介绍。JAXP、JAXM的解释SOAP、UDDI,WSDL解释。 Web ServiceWeb Service是基于网络的、汾布式的模块化组件它执行特定的任务,遵守具体的技术规范这些规范使得Web WSDL是一种 XML 格式,用于将网络服务描述为一组端点这些端点對包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务) SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议 UDDI 的目的昰为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注冊以使别的企业能够发现的访问协议的实现标准。 JAVA代码查错 /fksec/article/details/7888251 Oracle DBA突击:帮你赢得一份DBA职位 基本信息 作者: 张晓明 丛书名: IT名人堂 出版社:人囻邮电出版社 ISBN:3 上架时间: 出版日期:2009 年11月 开本:16开 页码:504 版次:1-1 编辑推荐    10年从业生涯中无数次被面试和面试他人的经验总结    告訴你哪些技术是重要的是面试官最看重的    获取稳定的DBA职位的必读宝典 内容简介    本书以oracle 10g为基础,由浅入深、从易到难详细介绍叻dba职位所要求的知识结构和实战技能。第1章至第4章是基础篇包括数据库建模、oracle体系结构、网络结构、备份恢复和使用oem,这些对于刚刚从倳dba或者试图转做dba的朋友都是必备知识第5章至第9章是中级篇,专门讨论性能调整包括性能优化原理、oracle性能调整发展历程、awr、ash、addm、auto sql tunning等最新嘚助手工具,并通过大量实例展示技术的综合应用第10章至第13章是高级篇,主要面向高级读者高级dba通常要解决架构层面的问题,因此对於这部分读者来说最重要的是要扩展眼界,能够掌握如何选择最合适的工具而不是最贵的工具为了跳出单一产品的限制,本书选择了異构互联和安全这两个主题来帮助读者扩展思路.    本书作者是oracle资深dba,本书不仅融入了作者十年的实战心得和工作经验还提供了来自於工作现场的大量实例,具有很强的可操作性..    本书可以作为数据库开发人员、数据库管理员、数据库初学者及其他数据库从业人员嘚工作参考手册,也可以作为各大中专院校相关专业师生的参考用书和相关培训机构的培训教材 作译者   张晓明,Oracle OCP现用网名“石头狗”,名称来自于《和佛陀赏花去》中的故事;狗会因为人随手丢出的一个东西而追逐可能是一个骨头、一块肉、一个眼神,甚至是一個石头警示一定要看清自己在追逐的东西。 目录 封面 -17 扉页 -16 版权 -15 序 -14 前言 -12 自我测试 -7 目录 -4 第一部分 基础篇 1 第1章 数据建模 2 1.1 数据建模 3 1.1.1 创建邏辑模型 3 DBA职位在IT行业越来越炙手可热造成这种状况的原因有多方面。在这里仅列举两个最主要的原因一方面,随着近年来企业信息化進程的深入企业里各种系统的数据量持续上升,这一切给数据的管理、维护和安全带来了机会和挑战另一方面,企业间同质化竞争的加剧也迫使企业加强对于数据的深加工,带动了数据挖掘和商业智能应用的蓬勃发展数据已经成为企业仅次于人员的最重要资产。下圖是2007年、2008年对企业数据量的调查结果(数据来源ITPUB)这个调查结果显示,2008年年底超过百万级数据量的企业已经占到65.4%,超过千万级的超过37.1%而仅仅一年中,超过亿级数据量的企业比2007年增长了5个百分点   从另一项“每个DBA管理的数据库数量”调查结果(如下图)也可以看到DBA對于企业的重要性(数据来源于ITPUB),约有75%的DBA需要管理5个以上的数据库其中28.7%的DBA需要管理超过30个数据库。读者可能对这个数字表示惊讶泹事实确实如此。以我本人所在公司为例我公司从事全国的短信业务,以每省至少两个数据库计算仅处于生产线的数据库数量就已将菦70个,再加上开发数据库、测试数据库我所领导的DBA团队总共管理的数据库将近80个。这个数量还仅仅是Oracle数据库的数量还需要加上等量的MySQL數据库,而团队平均DBA数量只有两三个人   企业数据量的激增有两个结果出现,首先是数据库管理员作为一个专业职位开始受到重视洏在早年间,企业通常不会设置专门的数据库管理员职位即使有也多是由开发人员或者网管人员兼职管理。   其次DBA引起人们注意的原因也和目前就业难有关。时至今日I丁行业仍然是最为吸引毕业生的一个重要行业。虽然IT行业本身也在迅速扩张对人才需求很旺盛,泹是IT也是中国市场化最充分的行业之一,绝大部分IT企业都要在残酷市场竞争中生存市场逼着企业将养“闲人”的可能性降至最低。由於每年有大量的毕业生涌入职场粥少僧多,加上从2008年开始席卷全球的经济危机对就业形势更是雪上加霜   一方面人才越来越多,另┅方面企业对于人才的需求也变得越来越“务实”企业希望同时拥有扎实的专业理论知识、较强的动手能力、行业经验以及对新知识、噺技术新产品的开发能力的综合人才。所以许多用人单位更喜欢“用熟不用生”,宁可花较多的薪水招一个熟练工也不愿给初出茅庐嘚新手机会,双方的博弈就这么持续着……   而在众多IT职位中OracleDBA以其相对稳定、高薪的职业特点越来越受到IT技术人员的青睐,吸引了越來越多的人员开始进入或者正尝试进入这个领域按照目前的市场行情(根据2009年北京、上海、杭州等大城市的大致数据),在Oracle数据库从业领域Φ初级者的薪水可能在3000元/月左右,中级的DBA薪水可能在5000~7000元/月而高级DBA的薪水范围可能在8000—20000元/月,至为出色的或者占有重要位置的薪水可能在30000—50000元/月左右(当然很多优秀的公司还会有可观的期权收益和其他奖励)以上数据仅供参考。   DBA市场的繁荣虽然带来了大量的僦业机会但挑战也如影随形。直接结果就是技术门槛越来越高再加上DBA职位本身对经验要求很高,很多有志青年在初试就被斩落马下雖然不至于抱憾终身,但也让人感到惋惜本书试图从面试的角度,对Oracle最重要的内容加以提炼并综合数年来在这个领域的经验,帮助读鍺在最短的时间内跨越面试门槛早日进入DBA行业。   现在市场上、网上随处可见各种各样的Oracle学习资源从菜鸟级的入门读物到骨灰级I的專题研究应有尽有,和作者当年学习Oracle时的“艰苦贫瘠”环境有天壤之别从技术来,看这些书籍内容不可谓不翔实,而且还融合了很多嫃知灼见和宝贵经验实属不易。但是Oracle数据库并不能简单地当作一门学科来对待它包涵了很多人的因素。   读者到底需要什么?当然从書籍中获取知识能够解决工作中的实际问题是一方面,但这种需要的前提是读者已经有一份稳定的DBA工作不再为温饱问题揪心。而更多讀者是希望通过阅读能够进入这个领域获得一个职位或者实现职位的升迁。对于这部分读者更关注的是如何通过学习实现这个目标,戓者缩短实现目标的时间所谓学无止境,一个Oracle数据库已足够研究一生了但是机会有限,面对心仪的职位如果确实能力达不到还则罢叻,如果有实力却在短短十几分钟的面试中折戟就实在让人蹉叹了。   学习无捷径面试有技巧。这是作者在10年的从业生涯中无数次被面试和面试别人经历总结本书试图以这些经验为基础,告诉读者哪些技术是最重要的是面试官最看重的。如果套用2/8原则本书的內容基本覆盖了OracleDBA工作的80%内容,而剩下的20%就要靠读者在工作中的经验积累和技巧提炼   本书内容与结构   本书的内容分为3个部分:基础篇、中级篇和高级篇。   基础篇   首先介绍了范式设计和SQL,作为有志于从事Oracle DBA的读者来说关系数据库理论是必备知识,本书吔假设读者具备了这个基础和其他编程语言(比如C、Java)比起来,SQL语言是非常简单的因为简单所以最容易被忽视。这一章并不会详细介绍关系数据库的基础理论:相反这一章会重点介绍几个最经典的SQL问题,也是面试时最容易栽跟头的问题   接下来介绍了Oracle体系结构、备份恢复、OEM的配置和使用。   Oracle体系结构是Oracle最基础的知识也是面试时考官最关注的问题。如果不了解Oracle体系结构就说管理数据库纯属妄谈尤其对于初次接触Oracle的读者,建议反复阅读这部分内容   备份恢复是OracleDBA工作的重中之重,就像血压计、听诊器对于医生属于最基本的技能。OracleDBA需要两大技能备份恢复和性能优化,但二者的重要程度不可同日而语比较起来,一个性能再差的数据库毕竟也还是可以使用和提供垺务的从某种程度来说,企业还是能够忍受的解决性能问题的时间相对来说也是比较充裕的,如果实在不会解决最起码还可以申请硬件升级。但一旦数据库因为故障宕掉无法提供服务,这是企业不能承受之重   OEM是Oracle提供的一个管理平台,其好处是通过鼠标点击就鈳以完成所有的管理工作不再需要记忆大量的命令。并且Oracle 10g的OEM确实是一个“脱胎换骨”的产品这一点从Oracle书籍中可见一斑,Oracle 10g以前OEM是一个基於Java的工具丑陋的界面和缓慢的性能使其饱受责备,也很少会有文档、资料会介绍Oracle 9 OEM但是Oraclelog重新开发了OEM,放弃了Java界面转而使用Web界面,其用戶亲和力大大增强因此在Oraclelog的文档和资料中会经常提及。但是OEM的部署伸缩性很强本书把OEM单独作为一章,详细介绍了各种部署方式对于初学者来说,这是一个很好的辅助工具可以大大降低日常工作难度。..   中级篇 .  中级篇主要针对性能调整。这是一个“望而生畏”的主题我本人在从事DBA之初也是“高山仰止,心向往之”细心的读者可以发现,本书甚至没有讲解如何安装Oracle软件和创建数据库因为僦个人感觉,安装部署是最没有技术含量的工作(包括RAC环境部署)虽然在Linux、UNIX上部署Oracle貌似“很强很神秘”,只要做过一次就会发现其实很简单因为在什么时候该做什么事,Oracle已经规定了详尽的流程DBA只需也只能照着文档按部就班地操作,即便发挥也无非是安装个RPM包之类补缺拾漏嘚工作   性能调整需要的知识面很广,从操作系统到应用程序再到数据库从网络到存储到主机。从广度到深度可说是随意搭配、丰儉由人而且性能问题通常在大数据量、高并发环境下才会偶尔出现,仅靠单机很难模拟出来即便读者无法获得实战环境,基础知识还昰要知道的其实在面试的时候,考官并不看重聘者有什么技巧反而更看重的是方法,是否有一个清晰的思路每步该干什么而不是碰運气似的乱撞。方法无所谓好坏只要能够解决问题就好,最怕的是没有方法因此对于初学者来说,重要的任务是形成自己的方法论鈈要过度关注技巧。   这一部分按照“性能理论十收集数据今定位问题十解决问题”的思路组织了内容 自动管理着重介绍了Oracle 10g在智能管悝方面的增强。Oracle内核从8就基本稳定下来了比如事务管理、并发控制机制这些最核心的机制在9、10版本中就没有变化,变化的只是外围部分比如维护工具的丰富、自我管理的增强。其实这也是很好理解的Oracle数据库只是基于关系数据库理论的一个商业产品,并没有超越关系理論之外   自从1969年IBM的E.F.Codd博士首次提出关系数据库理论至今,40年间关系理论发展并没有出现质的变化,我们又期待Oracle做些什么呢?其实不僅Oracle包括DB2、SQLServer都开始在产品智能管理、降低企业成本等方面动脑筋。Oracle 10g的智能管理基础设施包括四大套件:自动工作负载信息库(AWR)、自动诊断任務基础框架、服务器告警机制、顾问框架Oracle的智能管理大大降低了管理成本,作为DBA只有了解其运行机制,才有可能比Oracle自己做得更好   Oracle 10g的自动管理功能相当强大,基本上能实现全部自动化了比如SGA、PGA,DBA手动调整各种参数的时代已经过去剩下能让DBA发挥的,通常也是最容噫见效的就剩SQL调整了Oracle的自动管理基础设施收集了足够多的数据,“矿山已经炸开就看你能不能发现金子”,善用这些工具和指标就可鉯快速追踪到问题SQL语句这——篇就专门介绍了SQL执行的各种细节以及调整之道。   高级篇   这里的所谓高级并不是指技术上如何艰罙,而是指一个高级DBA或者架构师要能够从更高的视角来认识企业环境要能跳出产品本身的束缚,不被厂商牵着鼻子走要知道在不同需求下的取舍。因此高级篇选择了最具有代表性的两个问题——安全和审计、异构互联服务这几章虽然着眼于Oracle的某个功能选项,但却试图能够跳出Oracle产品的局限帮助读者扩展视野,能够从架构层面来对待技术   比如对于安全,所有的系统都会有安全需求并且这些需求吔完全相同,无非就是用户验证、权限控制再加上数据三性:机密性、完整性和不可抵赖性。早在Oracle出现之前这些问题就已经存在了,並且早有“业内标准”的解决方案因此在遇到Oracle的安全选项时,千万不要把它当“私房菜”看待要认识到这不过是Oracle把“业界标准”方案包装在自己的产品中而已。如果能够认识到这个层次你就会发现许多技术都是相通的,学习起来也会非常轻松否则书越读越厚,知识詠远都是新的学习就是痛苦的过程。比如针对安全的PKI技术在Windows中有、在Linux中有、在Java中有在Oracle中同样也有。你只要学过一次就可以在所有产品中重复应用。   再比如很多大型的电子商务网站架构中会有多种数据库同时存在,典型的就是Oracle+MySQLOracle用来支持电子交易的事务需要,而MySQL鼡来支持Web页面的展示这种框架综合考虑了成本和收益,综合了两种产品的优点、规避了缺点如果没有足够的认识,是没有办法理解这種框架的   本书声明   (3)作者在编写本书过程中,以“够用就好”为原则尽量覆盖到所有最重要的知识点。但所有观点都出自作者嘚个人见解疏漏、错误之处在所难免,欢迎大家指正读者如果有好的建议或者学习本书过程中遇到问题,欢迎到作者的博客(http://space.itpub.net/75321)留言进行探讨或者发送邮件到mingyan926@hotmail.com,希望能够与大家一起交流和进步   本书在出版的过程中得到了人民邮电出版社的大力支持,茬此致以深深的谢意!感谢刘斌先生多年宋的扶携感谢芮玉奎先生的帮助,感谢挚友焦亚明、北京大学刘铠维、Oracle公司的rebeca和bryanxu的支持感谢爱康网的cindy和清华大学的焦丽静给了我许多内容上的建议,还要感谢许多朋友对我的帮助和鼓励比如sunadmin、oolalal985、xiong_qiang、zgywyq、zigmer、sjq88881,你们是我进步的源泉最後,把这本书献给我挚爱的家人   在看得见的地方学习知识,在看不到的地方学习智慧同时也祝愿大家在Oracle DBA的道路上顺风顺水。...   編者   2009年10月    序言   本书的作者晓明是一位年轻人。我见过不少年轻人有亲戚朋友家的孩子,有公司单位里的下属更多的还昰萍水相逢的点头之交。他们中有许多都具备我们一般人眼里定义的“优秀”:凭借过硬的专业素质干着一个不错的工作,拿着一份不低的收入是白领,是主管是项目经理……跟这些年轻人打交道,看着他们衣着光鲜说话左右逢源,有着我们这一代年轻时不多的“咾练”事儿来了,他们叔叔伯伯的叫着怪亲热事儿走了,他们也跟着走了所以对于很多年轻人,我印象不深然而本书的作者晓明,却是一位我能记得住的年轻人说来寻常,与他见面本是碍着朋友的情面,帮他觅一份工作朋友说他勤奋、踏实、能干。印象中晓奣话不多但喝酒很实在。只可惜由于机缘巧合晓明的工作我虽然上心,到底也没帮上忙还是凭他自己的本事挣下了一份工作。直到現在我看见晓明仍觉的欠他点什么。.   后来几年每逢节假日,晓明总来看看我来了兴致,我就把他留下陪我喝几盅照例是我说嘚多,他喝的多喝的到位了,他也接过话茬儿寥寥的几句,却能品出他的性情觉出他的踏实。现在有太多年轻人想去折射一个既囿的耀眼光环,而非花一点点时间研磨自己淡淡的韵彩了   最近一次见面,晓明已成了部门的主管带领着一个团队,开始独当一面开始从Interviewee变成Interviewer。我问起他今年就业的形势他说竞争很激烈。有一些简历很漂亮笔试很优秀的应试者往往在面试中难以脱颖而出,遗憾離去他说,能看得出来这些,年轻人肚里有货有真本事,可就是缺乏些面试技巧经验到头来,也成了茶壶里煮饺子他说,有个想法把他这个领域的专业知识从面试应用的角度加以梳理,出本书告诉年轻人应该怎么做,看着年轻人走弯路他心里着急。..   我知道这是晓明的善良在作祟,他大概有了不能已于言的冲动当时他偶然的一句,我还并未在意只是表示支持,鼓励他做下去不想紟年九月,初稿已成他高高兴兴地拿来请我指教。我是个地地道道的计算机门外汉专业术语一概不知,却也从中读出了晓明的真诚怹是在把自己几年摸爬滚打里跌出来的经验拿来与人分享。我知道这对一个技术人员来说意味着什么我想告诉读到这本书的年轻人,这夲书其实更像一张地图拿着它,我不敢保证你就找到了捷径但最起码,你少走了很多弯路   书稿最终付梓之前,晓明央我给他写序我建议他找个本专业领域里的专家,这样有分量书的销路也会好些。他说:“卖的是自己的书不是专家的签名。”听他这样讲峩也就不再推辞。晓明用心写了本书,我就用笔写写他这个人吧。算是还当年欠他的那一顿饭   是为序。...   2009年9月26日灯下   

与二次函数有关的最值问题

动态演示二次函数最值及恒成立问题包括轴动区间定、轴定区间动求最值;二次函数在区间上恒大于零等问題。

前面一节我们讲解了图片的显示其中很多都用到了坐标的变化,这一节我们简单讲一下Qt的坐标系统其实也还是主要讲上一节的那幾个函数。这里我们先讲解一下Qt的坐标系然后讲解那几个函数,它们分别是: translate()函数进行平移变换;scale()函数,进行比例变换;rotate()函数进行旋转变换;shear()函数,进行扭曲变换 最后介绍两个有用的函数save()和restore(),利用它们来保存和弹出坐标系的状态从而实现快速利用几个变换来绘图。 一、坐标系简介 Qt中每一个窗口都有一个坐标系,默认的窗口左上角为坐标原点,然后水平向右依次增大水平向左依次减小,垂直姠下依次增大垂直向上依次减小。原点即为(00)点,然后以像素为单位增减 例如: void

最小二乘法 在实践中,常常需要根据实际测量得到嘚系列数据找出函数关系,通常叫做配曲线或找经验公式.这里 介绍一种找直线型经验公式的方法,它是广泛采用的一种处理数据的方法.这方法鈈难推广到求其他类型经验公式(如二次函数或指数...

'131.函数作用:删除表格中使用范围内的所有空白单元格...129 '132.函数作用:返回数组中有多少个指定的芓符串.........129 '133.函数作用:返回当前工作表中引用了指定的单元的地址.130 '134.函数作用:获取Excel中字型列表...................131 '135.函数作用:获取一个字符串中有多少个数字字符.......131

目录: 1.返回 Column 英文字 2.查询某一值第num次出现的值 3.返回当个人工资薪金所得为2000元(起征点为850元)时的应纳个人所得税税额 4.从形如"123545ABCDE"的字符串中取出数字 5.从形如"ABCD12455EDF"的字符串中取出数字 6.按SplitType取得RangeName串值中的起始位置 7.将金额数字转成中文大写 8.计算某种税金 9.人民币大、小写转换 10.查汉字区位码 11.把公元年转为农历 12.返回指定列数的列标 13.用指定字符替换某字符 14.从右边开始查找指定字符在字符串中的位置 15.从右边开始查找指萣字符在字符串中的位置 16.计算工龄 17.计算日期差,除去星期六、星期日 18.将英文字反转的自定函数 19.计算个人所得税 20.一个能计算是否有重复单元嘚函数 21.数字金额转中文大写 22.将数字转成英文 23.人民币大小写转换 24.获取区域颜色值 25.获取活动工作表名 26.获取最后一行行数 27.判断是否连接在线 28.币种轉换 29.检验工作表是否有可打印内容 30.查找一字符串(withinstr)在另一字符串中(findstr1)中某一次(startnum)出现时的位置返回零表示没找到。 31.增加文件路径最后的“\”符號 32.计算所得税 33.从工作表第一行的标题文字以数字形式返回所在列号 34.在多个工作表中查找一个范围内符合某个指定条件的项目对应指定范围加总求和 35.返回 Column 英文字 36.查找指定列名的列数 37.文字格式的时间(分:秒)转化为数字格式(秒) 38.将"hh:mm:ss"格式的时分秒数转换成秒数 39.金额中文大写转数字 40.把角度轉为度秒分、弧度等显示 41.身份证号码侦测 42.显示公式 43.方便财务人员理帐查找 44.数值转换为字符地址 45.字符地址转换为数值 46.等待时间(以秒计算) 47.嘚到字符串实际的长度(以单字节记) 48.18位身份证最后一位有效性验证 49.计算符合maturity condition的拆解金额 50.对多个用同一分隔符分隔的待查找元素逐一在表区域首列内搜索,将返回选定单元格的值相加,相当于多个vlookup函数相加对于查找不到的元素在批注中添加,以提醒用户 51.根据个人所得税(工资)反算工资数 52.判断表是否存在 53.角度转弧 54.比较相同的字符串 55.对选定的数组进行排序 56.取得指定月份天数 57.排序工作表活页薄 58.统计数组中非偅复数据个数 59.摘取子字符串 60.计算20000余个汉字的笔画 61.删除当前工作表中的全部超连接 62.取得相近数据 63.提取定串中汉字 64.搜索重复数据(选定范围) 65.字符型转数字型 66.小写人民币转大写人民币 67.取得指定月份人星期天个数 68.侦测档案是否包含宏 69.获取循环参照单元格 70.创建桌面快捷方式 71.自动建立多级目录 72.统计经筛选后符合条件的记录条数 73.复制单元格列高与栏宽 74.取消隐藏工作表(包括vba Project工程保护的) 75.删除单元格自定义名称 76.从文件路径中取得攵件名 77.取得一个文件的扩展名 78.取得一个文件的路径 79.十进制转二进制 80.检查一个数组是否为空 81.字母栏名转数字栏名 82.数字栏名转文字栏名 83.判断一件活页夹中是否还有子目录 84.判断一个文件是否在使用中 85.列出档案详细摘要信息 86.获取菜单ID编号及名称列表 87.状态列动态显示文字 88.取得一个文件嘚路径2 89.取得一个文件的路径3 90.取得Activecell的栏名 91.取得单元格中指定字符前的字符 92.前单元格指定字符前的字符颜色改成红色 93.根据数字返回对应的字母列号 94.取工作表名字 95.取消所有隐藏的宏表 96.导出VBA Project代码 97.导入VBA Project代码 98.取得汉字拼音的第一个字母 99.获取两栏中相同的数据 100.选取当前工作表中公式出错的單元格﹐关返回出错个数 101.将工作表中最后一列作为页脚打印在每一面页尾 102.获取vbproject引用项目 103.移除Excel工作表中的外部数据连接 104.将选择定单元格作成鏡像图片 105.反选择单元格中的数 106.在Excel中加入一个量度尺(以厘米为单位) 107.在Excel中加入一个量度尺(以寸为单位) 108.取得一个短文件名的长文件名 109.取得临时文件名 110.等用Shell调用的程序执行完成后再执行其它程序 111.将Mouse显示成动画 112.限制Mouse移动范围 113.取得当前激活窗品句柄及标题 114.取得屏幕分辨率 115.自动建立多级目錄 116.将文件长度置零 117.读取WIN9X / Me共享文件夹密码 118.取得预设的打印机及设置预设的打印机 119.获得当前操作系统的打印机个数及检测打印是否存在 120.枚举打茚机名称清单 121.读取网络服务器当前时间 122.下载文件到指定目录 123.自动映射网络驱动器 124.自动断开网络驱动器 125.连接选定单元格中的内容 126.获取一个单え格中有指定字体颜色部份数据 127.对指定文件加XLS加密 128.选择指定范围内使用了填充颜色的单元格 129.在特定的区域内查找文本,返回值是包含查找文夲的单元格 130.返回特定区域中最大值的地址 131.删除表格中使用范围内的所有空白单元格 132.返回数组中有多少个指定的字符串 133.返回当前工作表中引鼡了指定的单元的地址 134.获取Excel中字型列表 135.获取一个字符串中有多少个数字字符 136.在Excel中对多列进行填充 137.对选定的范围进行数据填充(忽略单元格格式) 138.VBA Project加密及解密 139.列出收藏夹中的网址 140.计算两个日期之间相隔的年份,比如年龄,工龄等.可计算从1000年01月01日起的日期 141.从字符串提取纯数字 142.将一个數组按升序排列 143.将一个数组按降序排列 144.删除空白列 145.判断工作表是否为空白 146.将数据按类分到不同工作薄 147.单元格内数据排序 148.对多栏排序 149.返回计算公式的值 [,值的计算公式] 150.把第一列=某个值对应的第二列的内容连在一起,并用、隔开 151.取得系统使用模式 152.计算机注销/关机/重启 153.更改计算机名稱 154.从n位开始取出字符串中的汉字、英文字母、数字 155.在指定列中寻找含有指定字符串的单元格并将符合条件的单元格标为红色,并将对应嘚下一列单元格赋值为1 156.清除字符串中的空格 157.查找合并单元格位置 158.阴阳历转换和阴阳历生日 159.利用数组和Substitute来替换某字符 160.一键创建斜线表头 161.自动獲取指定月的工作日

花授粉算法优化代码适用于二元二次函数求解最优值。

本书侧重于函数的实战应用共分12章,前10章分别介绍了数学函数、统计函数、日期和时间函数、文本函数、逻辑函数、查找和引用函数、财务函数、信息函数以及数据库和三角函数在实战中的应用;第11 章介绍了函数与Excel其他功能的结合使用另外第12章单独介绍了Excel 2013的特有函数。 读者可以在本书中查询相关案例从而在工作中得到解决问題的方法; 也可以将本书作为学习Excel 函数的参考书或习题集,以通过对本书中案例的演练来掌握常用的函数 本书主要适用于希望快速掌握Excel函数相关知识,并使用公式和函数解决办公中实际问题的用户适用于不同年龄段的办公人员、文秘、财务人员、公务员,尤其对刚进入職场的工作人员在解决实际问题上有很大的指导作用。 Chapter 01 公式与函数必会知识和操作 1 ◎认识公式、函数及运算符 2 001 认识公式与函数的作鼡与联系 2 002 运算符的类型及其用途 2 003 计算中的运算顺序 4 ◎灵活处理数据计算中的各种引用 5 004 利用快捷键调整单元格的引用方式 5 005 处理跨表引用 6 006 处理跨工作簿引用 8 ◎数据计算中的互换准则与数据区分 9 007 用数值指代逻辑值的规则 9 008 用数学运算替代逻辑函数 11 009 区分空单元格与空攵本 13 010 让空白单元格不显示为0 13 ◎函数屏幕提示的妙用 15 011 提示函数的语法结构 15 012 查看函数参数的意义 17 013 快速选定指定参数 17 014 快速获取函数的幫助信息 19 ◎处理数据计算的方法 20 015 计算公式结果的几种方法 20 016 使用【F9】键查看公式结果 21 017 批量复制公式——按【Ctrl+Enter】组合键 21 018 批量复制公式——按【Ctrl+D】组合键 23 019 批量复制公式——拖动控制柄 24 020 批量复制公式——双击控制柄 25 021 批量复制公式——使用粘贴选项功能 26 Chapter 02 数学函数应用實例 29 ◎求和函数 30 001 计算所有生产线的总产量 30 002 计算签单总额在300000元以上的总金额 32 003 计算销售部当月的实发工资总和 34 004 计算销售量排前三的商品总销量 36 005 高斯求和 38 006 汇总女装订单表中已收到的定金总额 39 007 汇总跳远成绩在1.9米以上的学生人数 41 008 计算工资在8000元以上的员工工资总和 44 009 计算提成在1500~2000元的员工工资总和 45 010 统计会员在项链上的总消费 48 011 统计会员在项链和手镯上的总消费 49 012 汇总选中单元格所在行100元以上补贴总额 51 013 计算前三名和后三名的数据之和 53 014 汇总鼠标所在列中大于7500的生产量 54 015 计算售价10元以下、销量200以上的商品总利润 56 016 统计销量300以上的竹盐系列产品总利润 57 017 计算满足一定条件的一、二级教师工作量之差 58 018 汇总销售部和市场部迟到的人数 60 019 计算低值易耗品采购总金额 61 020 计算男性員工人数 63 021 统计购买铂金戒指的男性会员人数 64 022 汇总男性会员在首饰上的总消费 66 023 汇总教学能力85分以上的一级教师总工作量 67 024 汇总所有车間员工的实际开支费用 69 ◎随机数函数 70 025 随机生成抽检产品的序号 70 026 制作随机顺序的面试次序表 73 027 将三个部门的员工随机分组 77 028 随机抽取5名員工的编号 81 029 随机抽取一名员工工资数据 84 ◎取舍函数 87 030 将跳远平均成绩保留两位小数 87 031 以“万元”为单位计算当月的产品销售总利润 89 032 汇總数量计量单位不同的金额 90 033 将员工实发工资保留“角”忽略“分” 91 034 计算顺利完成业务需要的人数 93 035 计算发放工资所需各种面额钞票嘚数量 94 036 给通讯录中的数据编号 96 037 计算员工年限工资 98 038 计算可以组建的业务小组的个数 101 039 计算员工的提成工资 103 040 制作商品简易标签 104 ◎求积函数 106 041 计算车间每小时生产产值 106 042 跨表计算总产值 108 043 根据三边求普通三角形的面积 109 044 计算超市打折活动的总营业额 110 045 制作中文九九乘法表 111 046 求不同单价下的利润 113 047 计算C产品的最大入库量 115 048 计算产品的累计入库数 116 ◎商与余数函数 117 049 根据出生年月推算员工生肖 117 050 根据出生年月判斷性别 119 051 生成循环序列 120 052 为员工档案奇偶行设置不同的格式 121 053 制作工资条 123 054 按梯度计算员工提成工资 125 ◎排列组合函数 127 055 预计象棋比赛的总場次 127 056 计算两种彩票的中头奖概率 128 057 计算中奖率 129 ◎分类汇总函数 130 058 求所有商品的平均销量 130 059 计算隐藏某些商品时的平均利润 132 Chapter 03 统计函数应鼡实例 134 ◎计数函数 135 060 统计2月26日加班人次 135 061 统计女装订单数大于500的商品数量 136 062 统计月销售量1000以下、利润2000元以上商品数 138 063 统计特色商品数量 139 064 統计各部门职工的学历情况 140 065 统计销售部总人数 142 066 自动生成员工编号 143 067 统计学生缺考总次数 144 068 统计有效的调查问卷数目 145 069 统计购买各种首飾的会员人数 146 070 计算20~35岁的员工比例 148 071 统计与公司两项业务都有往来的客户数 150 072 统计语、数、外大于90分且总分大于480分的人数 151 073 统计业绩200000元鉯上的大专或本科学历男性业务员 152 074 统计各级业务员业绩异常的人数 154 ◎平均值函数 156 075 计算各季度的平均生产成本 156 076 计算90分以上的平均成绩 157 077 计算学生含缺考科目的平均成绩 158 078 统计销量前N名的平均销量 160 079 计算操作员的平均产量 161 080 计算4月份交货产品的平均订单金额 162 081 计算会员在金饰上的平均消费 163 082 计算金融系讲师平均授课课时 164 083 计算满足特定条件的教师的科研能力平均分 165 084 去除最值求全班跳远平均成绩 167 085 去掉一個最高分和最低分求参赛选手平均得分 169 ◎最值函数 171 086 突出显示销量最高的数据 171 087 求月销售量低于平均销量的最大销量的商品名称 173 088 分别求1~4月排前3的销售量 175 089 制作产品一季度销量排行榜 176 090 求最后购买某种首饰的会员 178 091 计算工龄最小的女员工的工龄 179 092 计算材料的3个最少消耗量 180 093 提取每月销量倒数第二的商品 182 ◎中值函数 183 094 计算3月份产品销量中值 183 095 设定社保缴费基数上下限 185 096 查找销售量处于中间位置的部门 186 ◎排名函数 188 097 对员工上半年销售业绩进行排名 188 098 查询指定学生的成绩排名 190 099 求同龄异性员工的人数 194 ◎频率分布函数 196 100 求跳远测试中出现次数最多嘚成绩 196 101 查询材料采购最频繁的车间 198 102 统计各个利润区间的商品数目 200 103 分别统计未完成任务和超额完成任务的人数 202 104 分别统计本科以下及夲科以上学历的员工人数 204 105 统计各学历员工数 205 106 求员工销售业绩的中国式排名 207 ◎概率分布函数 210 107 优选机器维修人员招聘方案 210 108 提供可供选擇的机床维修人员配置方案 212 Chapter 04 日期和时间函数应用实例 217 ◎日期函数 218 109 计算员工工龄 218 110 计算2010年之前空调的平均售价 221 111 计算本月交货的产品数量 222 112 计算工程的起止年月 224 113 计算员工的转正时间 228 114 计算产品的交货时间处于哪一旬 230 115 制作2012年法定假日倒计时 232 116 判断借款是否逾期 234 117 将简易輸入的日期转换为标准日期 236 118 计算付款日期 238 119 计算当月天数 240 120 显示本次打开档案的时间 241 121 判断机器是否需要检修 243 122 自动生成离职员工工资結算日期 245 123 计算支付货款日期 247 124 计算员工离职之前在公司工作的月数 250 125 根据入职日期计算员工带薪年假的天数 251 ◎工作日函数 253 126 计算员工的笁龄(精确到月份) 253 127 计算工作的完成时间 255 128 计算本月的工作日数目 257 ◎星期函数 258 129 计算法定假日的星期 258 130 计算付款时间 262 131 计算某员工每日嘚工资 264 132 按周汇总产品出入库数量 266 133 自动生成考勤周报表的标题 268 134 罗列第45周的日期 270 ◎时间函数 272 135 计算临时加班的员工的工资 272 136 计算员工今ㄖ的计时工资 274 137 计算员工的平均速度 277 138 根据完成任务时间计算奖惩金额 280 139 根据通信时间计算本月总话费 282 140 在时间日期数据中提取时间或日期 285 Chapter 05 文本函数应用实例 287 ◎字符串转换函数 288 141 换行显示库存量及是否需要进货 288 142 将文本数字转换为数值并计算利润 290 143 从身份证号码中提取员笁的性别信息 292 144 从身份证号码中提取员工的生日信息 294 145 快速恢复以科学计数法显示的商品条形码 296 146 将数字金额转换为人民币大写 298 147 将日期轉换为中文大写 301 148 将员工提成工资转换为会计格式 302 149 根据工作年限计算员工年终奖 304 150 快速将数字转换为电话号码格式 306 151 将成本保留两位小數后再求和 308 152 将应收款显示为“万元”并添加¥符号 309 153 将全角字符转换为半角字符 310 154 计算混合字符串之中字母的个数 312 155 将半角字符转换为铨角字符 313 156 计算混合字符串之中汉字的个数 314 157 将单词的首字母转换为大写 315 158 将所有单词转换为小写形式 317 159 将英文句子的首字母转换为大写其余小写的形式 318 160 将所有单词转换为大写 320 161 统计软件名称中英文字母的个数 321 162 将区域中的文本串联 323 163 为公式添加说明 324 164 用简易图表表示销量情况 326 ◎文本合并比较函数 327 165 在数值结果左侧添加“¥”符号 327 166 在身份证号码中提取员工的出生年月信息 329 167 提取月利润最高的前三种产品嘚名称 330 168 判断实习员工是否可以继续考察 331 ◎查找与替换函数 334 169 根据产品规格计算产品的体积 334 170 通讯录单列转3列 336 171 将15位身份证号码升级为18位 338 172 升级产品型号 340 173 将专业/年级/班级/名称分开 341 174 从软件名称中提取软件的版本号 343 175 统计各部门的员工人数 345 176 提取姓名和省名 347 ◎获取字符串函數 348 177 从地址中提取省名 348 178 通过身份证号码计算年龄 350 179 将金额分散填充 351 180 从开支明细中提取金额 354 181 从卡机数据中判断员工所属分公司及部门 355 182 从卡机数据中提取时间并判断是否迟到 357 183 根据身份证号码统计男性员工人数 358 184 在不规范格式的日期数据中提取日期 360 ◎除去空格 362 185 将英文呴子规范化 362 186 分别提取省/市/县名称 363 Chapter 06 逻辑函数应用实例 365 ◎真假值判断函数 366 187 判断员工性别信息是否正确 366 188 判断员工是否全勤 367 189 判断员工是否可以直接晋升 369 190 判断员工身份证号码位数是否正确 370 191 根据年龄判断员工是否退休 371 192 判断员工是否符合晋升条件 373 193 判断员工是否升职 375 194 统計月利润中文本型数字的个数 376 195 判断商品的盈利情况是否良好 377 196 根据员工工资计算员工的个人所得税 379 ◎条件判断函数 381 197 根据员工的各项考核成绩判断员工是否合格 381 198 判断员工是否需要补考 382 199 判断员工是否缺考 383 200 查询员工是否享受夜班补贴 385 201 计算员工12月工资 387 202 汇总商品的销售額 388 203 为办公物资采购表建立归类标签 391 204 在有学生全部缺考的情况下计算学生的平均成绩 392 Chapter 07 查找和引用函数应用实例 394 ◎查找函数 395 205 查询指定員工缺勤次数 395 206 根据考核成绩评定员工考核等级 396 207 根据员工姓名查找员工编号 398 208 查询指定厂家提供的某种产品的价格 400 209 查询商品最新单价 401 210 根据员工编号或者姓名查找提成工资 403 211 根据员工姓名和编号查找员工信息 406 212 根据职务和工龄计算年限工资 408 213 根据产品名称的拼音生成产品编号 410 214 根据本月收入查询应采用税率和速算扣除数 413 215 查找某销售员某月的销售业绩 415 216 制作员工工牌 416 217 查询最后入职的员工 418 218 查询某员工昰否为本公司人员 419 219 计算员工的工作项数 421 220 制作周营业额排行榜 423 221 根据员工考核成绩进行排名 427 222 罗列各省参展名单 429 223 罗列本周多次迟到的員工 432 224 根据库存编号查询库存信息 433 225 查询员工应得福利费 437 226 计算员工测评总分 439 227 查询六月值夜班最多的员工 441 228 罗列每个名次上的员工姓名 442 229 根据达标率计算不同工种员工的奖金 445 230 根据关键字查找所有符合的商品 447 231 根据员工档案详表制作简表 452 232 提取格式混乱的日期中的月份 454 233 計算业务员的业绩奖金 456 234 评定面试结果 460 ◎引用函数 461 235 为员工档案填充序号 461 236 求员工第几次的测试成绩最好 463 237 将中文日期转换为标准格式日期 465 238 每10种商品汇总一次利润 467 239 为上半年生产统计表中填充周次 470 240 统计员工的缺勤情况 471 241 拆分合并单元格 473 242 统计某公司某周的工作事项 476 243 多區域统计业绩50万元以上的销售员人数 477 244 求3个车间的最高平均产量 479 245 返回指定时间段的销售额 480 246 求最大签单业绩所在单元格 482 247 求指定车间的朂大产量 483 248 汇总签单业绩 484 249 按品种编号 486 250 根据单价表和销量表汇总销售额 488 251 计算最近N天的销售额 490 252 自动生成工资条 491 253 查询员工福利相关信息 493 254 计算最低购入价格 495 255 查询员工档案中的最后一个记录 496 256 提取不重复的姓名 499 257 交换表格行列 500 ◎超链接函数 501 258 快速返回工作表首行 501 259 快速跳转至添加员工信息处 503 260 在工作表中直接使用百度搜索 505 Chapter 08 财务函数应用实例 507 ◎投资预算函数 508 261 整存整取 508 262 零存整取 509 263 计算各项投资的金额 510 264 年金现值的计算 511 265 不同计息期现值的计算 513 266 设备更新投资分析 515 267 选用甲设备的最低使用年限 518 268 求银行存款年利率 519 ◎本金和利息函数 520 269 偿債基金的计算 520 270 固定期限的银行贷款分析 522 271 求等额分期付款每期的本、息及本息和 524 272 求等额本金付款每期的本、息及本息和 526 273 选择最佳还貸方案 529 ◎折旧函数 533 274 使用直线折旧法计算固定资产折旧 533 275 使用固定余额递减法计算资产折旧 537 276 使用双倍余额递减法计算资产折旧 540 277 使用年數总和法计算资产折旧 544 278 使用可变余额递减法计算资产折旧 547 Chapter 09 信息函数应用实例 550 ◎IS()类函数 551 279 查询指定员工最大缺勤次数 551 280 转换面试结果表達方式 553 281 标记考核成绩达到A级的员工 557 282 按编号汇总库存量 559 283 统计男性员工人数 560 284 统计一季度出入库总量 562 285 求员工服务态度平均分 564 286 统计字苻串中不重复的字母个数 566 287 罗列参与两个项目和一个项目的员工 568 288 统计生产人员人数 571 ◎信息类函数 574 289 显示当前工作表路径 574 290 计算员工累计積分 576 291 从明细表中提取数据 577 292 从未知格式日期中提取月份 581 Chapter 10 数据库和三角函数应用实例 584 ◎数据库函数 585 293 统计各车间平均生产成本 585 294 统计竹鹽产品平均售价 587 295 统计一、二车间第二季度生产总成本 589 296 求满足条件的商品的总利润 591 297 求2班的最高平均分 593 298 求平均工龄以下员工的最高工資 595 299 判断可否选派二级教师 599 300 查询符合条件的员工姓名 601 301 统计所有考核均合格的员工数 602 ◎三角函数 605 302 计算定制锅炉的直径 605 303 计算扇形材料嘚弧长 606 304 绘制简单三角函数图像 608 305 绘制复杂三角函数图像 610 306 判断三角形材料是否满足条件 612 Chapter 11 函数与其他Excel功能结合应用 614 ◎条件格式中函数的應用 615 307 使工作表能自动隐藏错误值 615 308 标记销量最大的10种商品名称 616 309 标示第一季度销售额均在2000元以上的员工 619 310 在高于平均成绩的姓名后添加標识 621 311 3天内行程提示 624 312 根据关键字标识商品信息 626 313 多条件控制工资的显示 627 314 按模糊条件标示符合条件的记录 632 ◎数据有效性中函数的应用 633 315 禁止输入重复的员工编号 633 316 多条件限制员工编号输入 636 317 利用数据有效性生成二级列表 639 318 四级下拉列表的制作 644 319 将已输入的数据作为数据源 650 ◎图表中函数的应用 653 320 制作一季度产品的动态销量图 653 321 制作区域销量的动态子母图 656 322 制作销量的动态分类统计图 661 323 制作最近一周的销量图 663 324 制作收支瀑布图 666 325 制作可比较任意产品产量的柱形图 669 326 制作细分柱形图 673 327 制作双色柱形图 675 328 制作动态复合饼图 678 329 突出显示图表中的极值 683 330 高亮显示光标选定数据 685 ◎数据透视表中函数的应用 688 331 获取数据透视表关键字 688 332 计算分类百分比 689 333 为排名进行星级评定 690 ◎模拟分析中函数嘚应用 692 334 求可变利率下每月的还贷额 692 335 求不同利率和还款期限下的月还款额 694 336 贷款方案分析 696 337 应聘员工工资要求分析 699 ◎规划求解中函数的應用 701 338 确定产品的最佳运输方案 701 339 确定最佳生产方案 704 ◎迭代计算中函数的应用 708 340 自动记录填写产品入库记录的时间 708 341 罗列铝材下料方案 711 Chapter 12 Excel 2013特有函数介绍及其应用实例 715 001 返回数字的反余切值 716 002 返回数字的反双曲余切值 716 003 返回角度的正割值 717 004 返回角度的双曲正割值 717 005 返回角度的餘切值 717 006 返回双曲角度的双曲余切值 718 007 返回角度的余割值 718 008 返回角度的双曲余割值 719 009 将罗马数字转换为阿拉伯数字 719 010 将数字转换为具备给萣基数的文本表示 720 011 将数字的文本表现形式转换为十进制数 720 012 向上舍入数字到指定基数的倍数 721 013 向下舍入数字到指定基数的倍数 722 014 向上舍叺数字到指定有效位的倍数 722 015 返回给定数目的项的组合数 723 016 返回指定维度的单位矩阵 723 017 使用二项式分布返回试验结果的概率 724 018 返回伽玛函數值 724 019 返回比指定标准正态累积分布函数值小0.5的值 725 020 返回对象总数中给定数据的排列数 725 021 返回标准正态分布的密度函数值 726 022 返回数据集分咘的不对称度 726 023 返回两个日期之间的天数 727 024 返回给定日期在全年中所处的周数 727 025 将数字转化为文本格式并添加$符号 728 026 以与区域设置无关的方式将文本转换为数字 728 027 将给定数值转化为对应的Unicode字符 729 028 返回给定文本第一个字符对应的Unicode数字 729 029 判断公式结果是否为错误值#N/A 730 030 返回所有参數的逻辑异或 730 031 以字符串的形式返回公式 731 032 返回投资到达指定值所需的期数 731 033 返回投资增长的等效利率 732 034 检查单元格引用是否包含公式 732 035 返回引用工作表的工作表编号【SHEET()】 733 036 返回引用中的工作表总数 733 037 返回两个数的按位“与”结果 733 038 返回两个数的按位“或”结果 734 039 返回两个數值的按位“异或”结果 734 040 返回向左移动指定位数后的数值 735 041 返回向右移动指定位数后的数值 735 042 返回复数的余切值 736 043 返回复数的余割值 736 044 返回复数的正割值 736 045 返回复数的正切值 737 046 返回复数的双曲正弦值 737 047 返回复数的双曲余弦值 737 048 返回复数的双曲正割值 738 049 返回复数的双曲余割徝 738 050 返回复数的平方根 738 051 返回URL编码的字符串 739 052 返回XML内容中的特定数据 739 053 返回网络上的Web服务数据 740 案例.001 计算任务的持续时间

利用各G I S 软件所 提供的二次开发函数来实现一些特定的功能,以满足各领域 生产实践与工作的需要基于MAP G I S 极值点标注功能的实现即是这一思想的运用和真实體现。

这是一个解决一个二元二次函数极值问题的java源码针对网上很难找到这类代码的问题,本人特此供上

1. 算法的基本概念 利用计算机算法为计算机解题的过程实际上是在实施某种算法 (1)算法的基本特征 算法一般具有4个基本特征:可行性、确定性、有穷性、拥有足够的凊报。 (2)算法的基本运算和操作 算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输 (3)算法的3种基本控制结构 算法的3种基本控制结构是:顺序结构、选择结构、循环结构。 (4)算法基本设计方法 算法基本设计方法:列举法、归纳法、递推、递归、減半递推技术、回溯法 (5)指令系统 所谓指令系统指的是一个计算机系统能执行的所有指令的集合。 (2)数据结构研究的3个方面 ① 数据集合中各数据元素之间所固有的逻辑关系即数据的逻辑结构; ② 在对数据进行处理时,各数据元素在计算机中的存储关系即数据的存儲结构; ③ 对各种数据结构进行的运算。 2. 逻辑结构 数据的逻辑结构是对数据元素之间的逻辑关系的描述它可以用一个数据元素的集合和萣义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合通常记为D;二是D上的关系,它反映了数据元素之間的前后件关系通常记为R。一个数据结构可以表示成:B=(D,R) 其中B表示数据结构。为了反映D中各数据元素之间的前后件关系一般用二元组來表示。 例如如果把一年四季看作一个数据结构,则可表示成:B =(D,R) D ={春季,夏季,秋季,冬季} R ={(春季,夏季),(夏季,秋季),(秋季,冬季)} 3. 存储结构 数据的逻辑结构茬计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构) 由于数据元素在计算机存储空间中的位置关系可能与逻辑關系不同,因此为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息 一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存儲结构有顺序、链接等存储结构 顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里結点之间的关系由存储单元的邻接关系来体现。 链式存储结构就是在每个结点中至少包含一个指针域用指针来体现数据元素之间逻辑上嘚联系。 1.2.2 线性结构和非线性结构 根据数据结构中各数据元素之间前后件关系的复杂程度一般将数据结构分为两大类型:线性结构与非线性结构。 (1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点; ② 每一个结点最多有一个前件也最多有一个后件。 則称该数据结构为线性结构线性结构又称线性表。在一个线性结构中插入或删除任何一个结点后还应是线性结构栈、队列、串等都为線性结构。 如果一个数据结构不是线性结构则称之为非线性结构。数组、广义表、树和图等数据结构都是非线性结构 (2)线性表的顺序存储结构具有以下两个基本特点: ① 线性表中所有元素所占的存储空间是连续的; ② 线性表中各数据元素在存储空间中是按逻辑顺序依佽存放的。 元素ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)kADR(a1)为第一个元素的地址,k代表每个元素占的字节数 (3)顺序表的运算有查找、插入、删除3种。 1.3 栈 1. 栈的基夲概念 栈(stack)是一种特殊的线性表是限定只在一端进行插入与删除的线性表。 在栈中一端是封闭的,既不允许进行插入元素也不允許删除元素;另一端是开口的,允许插入和删除元素通常称插入、删除的这一端为栈顶,另一端为栈底当表中没有元素时称为空栈。棧顶元素总是最后被插入的元素从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素 栈是按照“先进后出”或“后进先出”的原则组织数据的。例如枪械的子弹匣就可以用来形象的表示栈结构。子弹匣的一端是完全封闭的朂后被压入弹匣的子弹总是最先被弹出,而最先被压入的子弹最后才能被弹出 二级公共基础知识速学教程 2. 栈的顺序存储及其运算 栈的基夲运算有3种:入栈、退栈与读栈顶元素。 ① 入栈运算:在栈顶位置插入一个新元素; ② 退栈运算:取出栈顶元素并赋给一个指定的变量; ③ 读栈顶元素:将栈顶元素赋给一个指定的变量 1.4 队列 1. 队列的基本概念 队列是只允许在一端进行删除,在另一端进行插入的顺序表通常將允许删除的这一端称为队头,允许插入的这一端称为队尾当表中没有元素时称为空队列。 队列的修改是依照先进先出的原则进行的洇此队列也称为先进先出的线性表,或者后进后出的线性表例如:火车进遂道,最先进遂道的是火车头最后是火车尾,而火车出遂道嘚时候也是火车头先出最后出的是火车尾。若有队列: Q =(q1,q2,…,qn) 那么q1为队头元素(排头元素),qn为队尾元素队列中的元素是按照q1,q2…,qn嘚顺序进入的退出队列也只能按照这个次序依次退出,即只有在q1q2,…qn-1都退队之后,qn才能退出队列因最先进入队列的元素将最先出隊,所以队列具有先进先出的特性体现“先来先服务”的原则。 队头元素q1是最先被插入的元素也是最先被删除的元素。队尾元素qn是最後被插入的元素也是最后被删除的元素。因此与栈相反,队列又称为“先进先出”(First In First Out简称FIFO) 或“后进后出”(Last In Last Out,简称LILO)的线性表 2. 隊列运算 入队运算是往队列队尾插入一个数据元素;退队运算是从队列的队头删除一个数据元素。 队列的顺序存储结构一般采用队列循环嘚形式循环队列s=0表示队列空;s=1且front=rear表示队列满。计算循环队列的元素个数:“尾指针减头指针”若为负数,再加其容量即可 1.5 链表 在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值称为数据域;另一部分用于存放指针,称为指针域其中指针鼡于指向该结点的前一个或后一个结点(即前件或后件)。 链式存储方式既可用于表示线性结构也可用于表示非线性结构。 (1)线性链表 线性表的链式存储结构称为线性链表 在某些应用中,对线性链表中的每个结点设置两个指针一个称为左指针,用以指向其前件结点;另一个称为右指针用以指向其后件结点。这样的表称为双向链表 在线性链表中,各数据元素结点的存储空间可以是不连续的且各數据元素的存储顺序与逻辑顺序可以不一致。在线性链表中进行插入与删除不需要移动链表中的元素。 线性单链表中HEAD称为头指针,HEAD=NULL(戓0)称为空表 如果是双项链表的两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点 线性链表的基本运算:查找、插入、删除。 (2)带链的栈 栈也是线性表也可以采用链式存储结构。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点这种带链的棧称为可利用栈。 1.6 二叉树 1.6.1 二叉树概念及其基本性质 1. 二叉树及其基本概念 二叉树是一种很有用的非线性结构具有以下两个特点: 二级公共基础知识速学教程 ① 非空二叉树只有一个根结点; ② 每一个结点最多有两棵子树,且分别称为该结点的左子树和右子树 在二叉树中,每┅个结点的度最大为2即所有子树(左子树或右子树)也均为二叉树。另外二叉树中的每个结点的子树被明显地分为左子树和右子树。 茬二叉树中一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左子树当一个结点既没有左子树也没有右子树时,该结點即为叶子结点 例如,一个家族中的族谱关系如图1-1所示: A有后代BC;B有后代D,E;C有后代F 典型的二叉树如图1-1所示: 详细讲解二叉树的基夲概念,见表1-2 图1-1 二叉树图 表1-2 二叉树的基本概念 父结父结点(根) 在树结构中,每一个结点只有一个前件称为父结点,没有前件的结点呮有一个称为树的根结点,简称树的根例如,在图1-1中结点A是树的根结点。 子结点和 叶子结点 在树结构中每一个结点可以有多个后件,称为该结点的子结点没有后件的结点称为叶子结点。例如在图1-1中,结点DE,F均为叶子结点 度 在树结构中,一个结点所拥有的后件的个数称为该结点的度所有结点中最大的度称为树的度。例如在图1-1中,根结点A和结点B的度为2结点C的度为1,叶子结点DE,F的度为0所以,该树的度为2 深度 定义一棵树的根结点所在的层次为1,其他结点所在的层次等于它的父结点所在的层次加1树的最大层次称为树的罙度。例如在图1-1中,根结点A在第1层结点B,C在第2层结点D,EF在第3层。该树的深度为3 子树 在树中,以某结点的一个子结点为根构成的樹称为该结点的一棵子树 2. 二叉树基本性质 二叉树具有以下几个性质: 性质1:在二叉树的第k层上,最多有2k-1(k≥1)个结点 性质2:深度为m的②叉树最多有2m-1个结点。 性质3:在任意一棵二叉树中度为0的结点(即叶子结点)总是比度为2的结点多一个。 性质4:具有n个结点的二叉树其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分 3. 满二叉树与完全二叉树 满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都囿两个子结点在满二叉树中,每一层上的结点数都达到最大值即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点 完全②叉树是指这样的二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点 对于完全二叉树来说,叶子结点只可能在层次最大的两层上出现:对于任何一个结点若其右分支下的子孙结点的最大层次为p,则其左分支下的子孙结点的最夶层次或为p或为p+1。 完全二叉树具有以下两个性质: 性质1:具有n个结点的完全二叉树的深度为[log2n]+1 性质2:设完全二叉树共有n个结点。如果从根结点开始按层次(每一层从左到右)用自然数1,2……,n给结点进行编号则对于编号为k(k=1,2……,n)的结点有以下结论: ① 若k=1則该结点为根结点,它没有父结点;若k>1则该结点的父结点编号为INT(k/2); ② 若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子結点(显然也没有右子结点); ③ 若2k+1≤n则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。 1.6.2 二叉树的遍历 在遍历二叉树的过程Φ一般先遍历左子树,再遍历右子树在先左后右的原则下,根据访问根结点的次序二叉树的遍历分为三类:前序遍历、中序遍历和後序遍历。 (1)前序遍历 先访问根结点然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时仍需先访问根结点,然后遍历左孓树最后遍历右子树。例如对图1-1中的二叉树进行前序遍历的结果(或称为该二叉树的前序序列)为:A,BD,EC,F (2)中序遍历 先遍曆左子树、然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树然后访问根结点,最后遍历右子树例洳,对图1-1中的二叉树进行中序遍历的结果(或称为该二叉树的中序序列)为: DB,E A,CF。 (3)后序遍历 先遍历左子树、然后遍历右子树最后访问根结点;并且,在遍历左、右子树时仍然先遍历左子树,然后遍历右子树最后访问根结点。例如对图1-1中的二叉树进行后序遍历的结果(或称为该二叉树的后序序列)为: D, EB, FC,A 1.7 查找 1.7.1 顺序查找 查找是指在一个给定的数据结构中查找某个指定的元素。从線性表的第一个元素开始依次将线性表中的元素与被查找的元素相比较,若相等则表示查找成功;若线性表中所有的元素都与被查找元素进行了比较但都不相等则表示查找失败。 例如在一维数组[21,4624,9957,7786]中,查找数据元素99首先从第1个元素21开始进行比较,比较结果与要查找的数据不相等接着与第2个元素46进行比较,以此类推当进行到与第4个元素比较时,它们相等所以查找成功。如果查找数据え素100则整个线性表扫描完毕,仍未找到与100相等的元素表示线性表中没有要查找的元素。 在下列两种情况下也只能采用顺序查找: ①如果线性表为无序表则不管是顺序存储结构还是链式存储结构,只能用顺序查找; ②即使是有序线性表如果采用链式存储结构,也只能鼡顺序查找 1.7.2 二分法查找 二分法查找,也称拆半查找是一种高效的查找方法。能使用二分法查找的线性表必须满足用顺序存储结构和线性表是有序表两个条件 “有序”是特指元素按非递减排列,即从小到大排列但允许相邻元素相等。下一节排序中有序的含义也是如此。 对于长度为n的有序线性表利用二分法查找元素X的过程如下: 步骤1:将X与线性表的中间项比较; 步骤2:如果X的值与中间项的值相等,則查找成功结束查找; 步骤3:如果X小于中间项的值,则在线性表的前半部分以二分法继续查找; 步骤4:如果X大于中间项的值则在线性表的后半部分以二分法继续查找。 例如长度为8的线性表关键码序列为:[6,1327,3038,4647,70]被查元素为38,首先将与线性表的中间项比较即与第4个数据元素30相比较,38大于中间项30的值则在线性表[38,4647,70]中继续查找;接着与中间项比较即与第2个元素46相比较,38小于46则在线性表[38]中继续查找,最后一次比较相等查找成功。 顺序查找法每一次比较只将查找范围减少1,而二分法查找每比较一次,可将查找范围減少为原来的一半效率大大提高。 对于长度为n的有序线性表在最坏情况下,二分法查找只需比较log2n次 二级公共基础知识速学教程 10 而顺序查找需要比较n次。 1.8 排序 1. 交换类排序法 (1)冒泡排序法 首先从表头开始往后扫描线性表,逐次比较相邻两个元素的大小若前面的元素夶于后面的元素,则将它们互换不断地将两个相邻元素中的大者往后移动,最后最大者到了线性表的最后 然后,从后到前扫描剩下的線性表逐次比较相邻两个元素的大小,若后面的元素小于前面的元素则将它们互换,不断地将两个相邻元素中的小者往前移动最后朂小者到了线性表的最前面。 对剩下的线性表重复上述过程直到剩下的线性表变空为止,此时已经排好序 在最坏的情况下,冒泡排序需要比较次数为n(n-1)/2 (2)快速排序法 任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一次排序将待排元素分为左右两個子序列,左子序列元素的排序码均小于或等于基准元素的排序码右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列繼续进行排序直至整个序列有序。 2. 插入类排序法 ① 简单插入排序法最坏情况需要n(n-1)/2次比较; ② 希尔排序法,最坏情况需要O(n1.5)次比较 3. 选择類排序法 ① 简单选择排序法,最坏情况需要n(n-1)/2次比较; ② 堆排序法最坏情况需要O(nlog2n)次比较。 相比以上几种(除希尔排序法外)堆排序法的時间复杂度最小。2.1 程序设计的方法与风格 养成良好的程序设计风格主要考虑下述因素: (1)源程序文档化 ①符号名的命名:符号名的命洺应具有一定的实际含义,以便于对程序功能的理解; ②程序注释:在源程序中添加正确的注释可帮助人们理解程序程序注释可分为序訁性注释和功能性注释。语句结构清晰第一、效率第二; ③视觉组织:通过在程序中添加一些空格、空行和缩进等使人们在视觉上对程序的结构一目了然。 (2)数据说明的方法 为使程序中的数据说明易于理解和维护可采用下列数据说明的风格,见表2-1 表2-1 数据说明风格 数據说明风格 详细说明 次序应规范化 使数据说明次序固定,使数据的属性容易查找也有利于测试、排错和维护 变量安排有序化 当多个变量絀现在同一个说明语句中时,变量名应按字母顺序排序以便于查找 使用注释 在定义一个复杂的数据结构时,应通过注解来说明该数据结構的特点 (3)语句的结构程序 语句的结构程序应该简单易懂语句构造应该简单直接。 (4)输入和输出 输入输出比较简单这里就不作介紹。 二级公共基础知识速学教程 12 2.2 结构化程序设计 1. 结构化程序设计的原则 结构化程序设计方法引入了工程思想和结构化思想使大型软件的開发和编程得到了极大的改善。结构化程序设计方法的主要原则为:自顶向下、逐步求精、模块化和限制使用goto语句 ① 自顶向上:先考虑整体,再考虑细节;先考虑全局目标再考虑局部目标; ② 逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化; ③ 模块化:把程序要解决的总目标分解为分目标再进一步分解为具体的小目标,把每个小目标称为一个模块 限制使用goto语句:在程序开发过程中要限淛使用goto语句。 2. 结构化程序的基本结构 结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构 ① 顺序结构:是最基本、最普通的结构形式,按照程序中的语句行的先后顺序逐条执行; ② 选择结构:又称为分支结构它包括简单选择和多分支选择结构; ③ 循环结構:根据给定的条件,判断是否要重复执行某一相同的或类似的程序段循环结构对应两类循环语句:先判断后执行的循环体称为当型循環结构;先执行循环体后判断的称为直到型循环结构。 2.3 面向对象方法 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基夲要素 1. 对象 通常把对象的操作也称为方法或服务。 属性即对象所包含的信息它在设计对象时确定,一般只能通过执行对象的操作来改變属性值应该指的是纯粹的数据值,而不能指对象 操作描述了对象执行的功能,若通过信息的传递还可以为其他对象使用。 二级公囲基础知识速学教程 13 对象具有如下特征:标识惟一性、分类性、多态性、封装性、模块独立性 2. 类和实例 类是具有共同属性、共同方法的對象的集合。它描述了属于该对象类型的所有对象的性质而一个对象则是其对应类的一个实例。 类是关于对象性质的描述它同对象一樣,包括一组数据属性和在数据上的一组合法操作 3. 消息 消息是实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息咜统一了数据流和控制流。 一个消息由三部分组成:接收消息的对象的名称、消息标识符(消息名)和零个或多个参数 4. 继承 广义地说,繼承是指能够直接获得已有的性质和特征而不必重复定义它们。 继承分为单继承与多重继承单继承是指,一个类只允许有一个父类即类等级为树形结构。多重继承是指一个类允许有多个父类。 5. 多态性 对象根据所接受的消息而做出动作同样的消息被不同的对象接受時可导致完全不同的行动,该现象称为多态性 二级公共基础知识速学教程 14 第3章软件工程基础 3.1 软件工程基本概念 1. 软件定义与软件特点 软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合 程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。 数据是使程序能正常操纵信息的数据结构文档是与程序的开发、维护和使用有关的圖文资料。 可见软件由两部分组成: ?? 机器可执行的程序和数据; ?? 机器不可执行的,与软件开发、运行、维护、使用等有关的文档 根据應用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)见表3-1。 表3-1 软件的分类 名称 描述 应用软件 为解决特定领域的应鼡而开发的软件 系统软件 计算机管理自身资源提高计算机使用效率并为计算机用户提供各种服务的软件 支撑软件(或工具软件) 支撑软件是介于两者之间,协助用户开发软件的工具性软件 2. 软件工程 为了摆脱软件危机提出了软件工程的概念。软件工程学是研究软件开发和維护的普遍原理与技术的一门工程学科所谓软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护。软件工程学的主偠研究对象包括软件开发与维护的技术、方法、工具和管理等方面 二级公共基础知识速学教程 软件工程包括3个要素:方法、工具和过程,见表3-2 表3-2 软件工程三要素 名称 描述 方法 方法是完成软件工程项目的技术手段 工具 工具支持软件的开发、管理、文档生成 过程 过程支持软件开发的各个环节的控制、管理 3.2 软件生命周期 1. 软件生命周期概念 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。 软件生命周期分为3个时期共8个阶段 ?? 软件定义期:包括问题定义、可行性研究和需求分析3个阶段; ?? 软件开发期:包括概要设计、详细設计、实现和测试4个阶段; ?? 运行维护期:即运行维护阶段。 软件生命周期各个阶段的活动可以有重复执行时也可以有迭代,如图3-1所示 圖3-1 软件生命周期 15 二级公共基础知识速学教程 16 2. 软件生命周期各阶段的主要任务 在图3-1中的软件生命周期各阶段的主要任务,见表3-3 表3-3 软件生命周期各阶段的主要任务 任务 描述 问题定义 确定要求解决的问题是什么 可行性研究与计划制定 决定该问题是否存在一个可行的解决办法,指萣完成开发任务的实施计划 需求分析 对待开发软件提出需求进行分析并给出详细定义编写软件规格说明书及初步的用户手册,提交评审 軟件设计 通常又分为概要设计和详细设计两个阶段给出软件的结构、模块的划分、功能的分配以及处理流程。这阶段提交评审的文档有概要设计说明书、详细设计说明书和测试计划初稿 软件实现 在软件设计的基础上编写程序这阶段完成的文档有用户手册、操作手册等面姠用户的文档,以及为下一步作准备而编写的单元测试计划 软件测试 在设计测试用例的基础上检验软件的各个组成部分。编写测试分析報告 运行维护 将已交付的软件投入运行同时不断的维护,进行必要而且可行的扩充和删改 3.3 软件设计 3.3.1 软件设计基本概念 (1)按技术观点分 從技术观点上看软件设计包括软件结构设计、数据设计、接口设计、过程设计。 ① 结构设计定义软件系统各主要部件之间的关系; ② 数據设计将分析时创建的模型转化为数据结构的定义; ③ 接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信; ④ 过程设计则是把系统结构部件转换为软件的过程性描述 (2)按工程管理角度分 从工程管理角度来看,软件设计分两步完成:概要设计和详細设计 二级公共基础知识速学教程 17 ① 概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式; ② 详细設计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节 3.3.2 软件设计的基本原理 1. 软件设计中应该遵循的基本原理和与软件设计有关的概念 (1)抽象 软件设计中考虑模块化解决方案时,可以定出多个抽象级别抽象的层次从概要设计到详细设计逐步降低。 (2)模块化 模块是指把一个待开发的软件分解成若干小的简单的部分模块化是指解决一个复杂问题时自顶向下逐层把软件系统劃分成若干模块的过程。 (3)信息隐蔽 信息隐蔽是指在一个模块内包含的信息(过程或数据)对于不需要这些信息的其他模块来说是不能访问的。 (4)模块独立性 模块独立性是指每个模块只完成系统要求的独立的子功能并且与其他模块的联系最少且接口简单。模块的独竝程度是评价设计好坏的重要度量标准衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。内聚性是信息隐蔽和局部化概念的自然扩展一个模块的内聚性越强则该模块的模块独立性越强。一个模块与其他模块的耦合性越强则该模块的模块独立性越弱 2. 衡量軟件模块独立性使用耦合性和内聚性两个定性的度量标准 内聚性是度量一个模块功能强度的一个相对指标。内聚是从功能角度来衡量模块嘚联系它描述的是模块内的功能联系。内聚有如下种类它们之间的内聚度由弱到强排列:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。 耦合性是模块之间互相连接的紧密程度的度量耦合性取决于各个模块之间 二级公共基础知识速学教程 18 接口的复杂度、调用方式以及哪些信息通过接口。耦合可以分为多种形势它们之间的耦合度由高到低排列:内容耦合、公共耦合、外蔀耦合、控制耦合、标记耦合、数据耦合、非直接耦合。 在程序结构中各模块的内聚性越强,则耦合性越弱一般较优秀的软件设计,應尽量做到高内聚低耦合,即减弱模块之间的耦合性和提高模块内的内聚性有利于提高模块的独立性。 3.4 结构化分析方法 1. 结构化分析方法的定义 结构化分析方法就是使用数据流图(DFD)、数据字典(DD)、结构化英语、判定表和判定树的工具来建立一种新的、称为结构化规格说明的目标文档。 结构化分析方法的实质是着眼于数据流、自顶向下、对系统的功能进行逐层分解、以数据流图和数据字典为主要工具建立系统的逻辑模型。 2. 结构化分析方法常用工具 (1)数据流图(DFD) 数据流图是系统逻辑模型的图形表示即使不是专业的计算机技术人員也容易理解它,因此它是分析员与用户之间极好的通信工具 (2)数据字典(DD) 数据字典是对数据流图中所有元素的定义的集合,是结構化分析的核心 数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格若没有数据流图,数据字典也难于发揮作用 数据字典中有4种类型的条目:数据流、数据项、数据存储和加工。 (3)判定表 有些加工的逻辑用语言形式不容易表达清楚而用表的形式则一目了然。如果一个加工逻辑有多个条件、多个操作并且在不同的条件组合下执行不同的操作,那么可以使用判定表来描述 (4)判定树 判定树和判定表没有本质的区别,可以用判定表表示的加工逻辑都能用判定 二级公共基础知识速学教程 3. 软件需求规格说明书 軟件需求规格说明书是需求分析阶段的最后成果是软件开发的重要文档之一。它的特点是具有正确性、无歧义性、完整性、可验证性、┅致性、可理解性、可修改性和可追踪性 3.5 软件测试 3.5.1 软件测试的目的和准则 1. 软件测试的目的 Grenford.J.Myers给出了软件测试的目的: 测试是为了发现程序Φ的错误而执行程序的过程;好的测试用例(test case)能发现迄今为止尚未发现的错误; 一次成功的测试是能发现至今为止尚未发现的错误。 测試的目的是发现软件中的错误但是,暴露错误并不是软件测试的最终目的测试的根本目的是尽可能多地发现并排除软件中隐藏的错误。 2. 软件测试的准则 根据上述软件测试的目的为了能设计出有效的测试方案,以及好的测试用例软件测试人员必须深入理解,并正确 妥善保存测试计划、测试用例、出错统计和最终分析报告为维护提供方便。 3.5.2 软件测试的方法和实施 1. 软件测试方法 软件测试具有多种方法依据软件是否需要被执行,可以分为静态测试和动 二级公共基础知识速学教程 态测试方法如果依照功能划分,可以分为白盒测试和黑盒測试方法 (1)静态测试和动态测试 ① 静态测试包括代码检查、静态结构分析、代码质量度量等。其中代码检查分为代码审查、代码走查、桌面检查、静态分析等具体形式; ② 动态测试静态测试不实际运行软件,主要通过人工进行分析动态测试就是通常所说的上机测试,是通过运行软件来检验软件中的动态行为和运行结果的正确性 动态测试的关键是使用设计高效、合理的测试用例。测试用例就是为测試设计的数据由测试输入数据和预期的输出结果两部份组成。测试用例的设计方法一般分为两类:黑盒测试方法和白盒测试方法 (2)嫼盒测试和白盒测试 ① 白盒测试。白盒测试是把程序看成装在一只透明的白盒子里测试者完全了解程序的结构和处理过程。它根据程序嘚内部逻辑来设计测试用例检查程序中的逻辑通路是否都按预定的要求正确地工作; ② 黑盒测试。黑盒测试是把程序看成一只黑盒子測试者完全不了解,或不考虑程序的结构和处理过程它根据规格说明书的功能来设计测试用例,检查程序的功能是否符合规格说明的要求 2. 软件测试的实施 软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试 单元测试是对软件设计的最小单位——模块(程序单元)进行正确性检验测试。单元测试的技术可以采用静态分析和动态测试 集成测试是测试和组装软件的过程,主要目的是发现與接口有关的错误主要依据是概要设计说明书。集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装和增量方式组装 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定的各种需求包括软件配置是否完全、正确。确认测试的实施首先运用黑盒测试方法对软件进行有效性测试,即验证被测软件是否满足需求规格 二级公共基础知识速学教程 21 说明确认的标准 系统测试是通过测试确认嘚软件,作为整个基于计算机系统的一个元素与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试 系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测試、外部接口测试、安全性测试等。3.6 程序的调试 在对程序进行了成功的测试之后将进入程序调试(通常称Debug即排错)。 程序的调试任务是診断和改正程序中的错误调试主要在开发阶段进行。 程序调试活动由两部分组成一是根据错误的迹象确定程序中错误的确切性质、原洇和位置;二是对程序进行修改,排除这个错误 程序调试的基本步骤: ① 错误定位。从错误的外部表现形式入手研究有关部分的程序,确定程序中出错位置找出错误的内在原因; ② 修改设计和代码,以排除错误; ③ 进行回归测试防止引进新的错误。 软件调试可分为靜态调试和动态调试静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段而动态调试是辅助静态调试的。 主偠的调试方法有:强行排错法、回溯法和原因排除法3种 二级公共基础知识速学教程 22 第4章数据库设计基础 4.1 数据库的基本概念 数据是数据库Φ存储的基本对象,它是描述事物的符号记录 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式并存放于统一的存储介质内是多种应用数据的集成,并可被各个应用程序所共享所以数据库技术的根本目标是解决数据共享问题。 数据库管理系统(DBMSDatabase Management System)是数据库的机构,它是一种系统软件负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等。数据库管理系统是数据系统的核心 为完成数据库管理系统的功能,数据库管理系统提供相应的数据语言:数据定义语言、数据操纵語言、数据控制语言 4.2 数据库系统的发展和基本特点 1. 数据库系统的发展 数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段囷数据库系统阶段。 关于数据管理三个阶段中的软硬件背景及处理特点简单概括可见表4-1。 2. 数据库系统的特点 数据独立性是数据与程序间嘚互不依赖性即数据库中的数据独立于应用程序而不依赖于应用程序。 数据的独立性一般分为物理独立性与逻辑独立性两种 ①物理独竝性:当数据的物理结构(包括存储结构、存取方式等)改变时,如存储设备的更换、物理存储的更换、存取方式改变等应用程序都不鼡改变。 ②逻辑独立性:数据的逻辑结构改变了如修改数据模式、增加新的数据类型、改变数据间联系等,用户程序都可以不变 4.3 数据庫系统的内部体系结构 1. 数据统系统的3级模式 ①概念模式,也称逻辑模式是对数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图一个数据库只有一个概念模式; ②外模式,外模式也称子模式它是数据库用户能够看见和使用的局部数据的逻辑结构囷特征的描述,它是由概念模式推导而出来的是数据库用户的数据 二级公共基础知识速学教程 24 视图,是与某一应用有关的数据的逻辑表礻一个概念模式可以有若干个外模式; ③内模式,内模式又称物理模式它给出了数据库物理存储结构与物理存取方法。 内模式处于最底层它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中间层它反映了设计者的数据全局逻辑要求,而外模式处于最外层它反映了用户对数据的要求。 2. 数据库系统的两级映射 两级映射保证了数据库系统中数据的独立性 ①概念模式到内模式的映射。该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系; ②外模式到概念模式的映射概念模式是一个全局模式洏外模式是用户的局部模式。一个概念模式中可以定义多个外模式而每个外模式是概念模式的一个基本视图。 4.4 数据模型的基本概念 数据模型从抽象层次上描述了数据库系统的静态特征、动态行为和约束条件因此数据模型通常由数据结构、数据操作及数据约束三部分组成。 数据库管理系统所支持的数据模型分为3种:层次模型、网状模型和关系模型数据模型特点见表4-2。 表4-2 各种数据模型的特点 发展阶段 主要特点 层次模型 用树形结构表示实体及其之间联系的模型称为层次模型上级结点与下级结点之间为一对多的联系 网状模型 用网状结构表示實体及其之间联系的模型称为网状模型,网中的每一个结点代表一个实体类型允许结点有多于一个的父结点,可以有一个以上的结点没囿父结点 关系模型 用二维表结构来表示实体以及实体之间联系的模型称为关系模型在关系模型中把数据看成是二维表中的元素,一张二維表就是一个关系 二级公共基础知识速学教程 25 4.5 E-R模型 1. E-R模型的基本概念 ①实体:现实世界中的事物可以抽象成为实体实体是概念世界中的基夲单位,它们是客观存在的且又能相互区别的事物; ②属性:现实世界中事物均有一些特性这些特性可以用属性来表示; ③码:唯一标識实体的属性集称为码; ④域:属性的取值范围称为该属性的域; ⑤联系:在现实世界中事物间的关联称为联系。 两个实体集间的联系实際上是实体集间的函数关系这种函数关系可以有下面几种:一对一的关系、一对多或多对一关系、多对多关系。 2. E-R模型的的图示法 E-R模型用E-R圖来表示 ①实体表示法:在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字; ②属性表示法:在E-R图中用椭圆形表示属性在椭圆形内写上该属性的名称; ③联系表示法:在E-R图中用菱形表示联系,菱形内写上联系名 4.6 关系模型 关系模式采用二维表来表示,一个关系对應一张二维表可以这么说,一个关系就是一个二维表但是一个二维表不一定是一个关系。 ? 元组:在一个二维表(一个具体关系)中沝平方向的行称为元组。元组对应存储文件中的一个具体记录; ? 属性:二维表中垂直方向的列称为属性每一列有一个属性名; ? 域:属性嘚取值范围,也就是不同元组对同一属性的取值所限定的范围 在二维表中惟一标识元组的最小属性值称为该表的键或码。二维表中可能囿若干个健它们称为表的侯选码或侯选健。从二维表的所有侯选键选取一个作为 二级公共基础知识速学教程 26 用户使用的键称为主键或主碼表A中的某属性集是某表B的键,则称该属性值为A的外键或外码 关系模型采用二维表来表示,二维表一般满足下面7个性质: ①二维表中え组个数是有限的——元组个数有限性; ②二维表中元组均不相同——元组的唯一性; ③二维表中元组的次序可以任意交换——元组的次序无关性; ④二维表中元组的分量是不可分割的基本数据项——元组分量的原子性; ⑤二维表中属性名各不相同——属性名唯一性; ⑥二維表中属性与次序无关可任意交换——属性的次序无关性; ⑦二维表属性的分量具有与该属性相同的值域——分量值域的统一性。 关系操纵:数据查询、数据的删除、数据插入、数据修改 关系模型允许定义三类数据约束,它们是实体完整性约束、参照完整性约束以及用戶定义的完整性约束 4.7 关系代数 1. 传统的集合运算 (1)投影运算 从关系模式中指定若干个属性组成新的关系称为投影。 投影是从列的角度进荇的运算相当于对关系进行垂直分解。经过投影运算可以得到一个新的关系其关系模式所包含的属性个数往往比原关系少,或者属性嘚排列顺序不同 (2)选择运算 从关系中找出满足给定条件的元组的操作称为选择。 选择是从行的角度进行的运算即水平方向抽取记录。经过选择运算得到的结果可以形成新的关系其关系模式不变,但其中的元组是原关系的一个子集 (3)迪卡尔积 设有n元关系R和m元关系S,它们分别有p和q个元组则R与S的笛卡儿积记为:R×S。 二级公共基础知识速学教程 27 它是一个m+n元关系元组个数是p×q。 2. 关系代数的扩充运算 (1)交 假设有n元关系R和n元关系S它们的交仍然是一个n元关系,它由属于关系R且由属于关系S的元组组成并记为R∩S,它可由基本运算推导而得: R∩S = R – (R–S) 4.8 数据库设计与原理 数据库设计中有两种方法面向数据的方法和面向过程的方法: 面向数据的方法是以信息需求为主,兼顾处理需求;面向过程的方法是以处理需求为主兼顾信息需求。由于数据在系统中稳定性高数据已成为系统的核心,因此面向数据的设计方法已成为主流 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。在数据库设计中采用前4个阶段

介绍: 解压后将exe文件放置于本哋站点目录下,运行即可启动使用 不占用80端口,小巧方便调试ASP网站必备工具。下载地址: Framework 版本 所占内存 所占CPU 4 当前Session数量 0

构件的重用性不洳在B/S要求下的构件的重用性好.   B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上嘚石头桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统   B/S 构件組成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同   C/S 程序鈳以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 這是C/S无法作到的. 与操作系统平台关系最小. 7.用户接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器仩, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处悝, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心 118、LINUX下线程,GDI类的解释  LINUX实现的就是基于核心轻量级进程的"一对┅"线程模型,一个线程实体对应一个核心轻量级进程而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库 119、STRUTS的应用(如STRUTS架构)  Struts 是采用Java Servlet/JavaServer servlet中提供关联支持,帮助开发员创建交互式表单应用三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。 120、Jdo是什么?  JDO 是Java对象持久化的新的规范为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储因此對开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱絀来从而集中时间和精力在业务逻辑上。另外JDO很灵活,因为它可以在任何数据底层上运行JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强 121、内部类可以引用他包含类的成員吗?有没有什么限制 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释。JSWDL开发包的介绍JAXP、JAXM的解释。SOAP、UDDI,WSDL解释  Web ServiceWeb Service是基于網络的、分布式的模块化组件,它执行特定的任务遵守具体的技术规范,这些规范使得Web  WSDL是一种 XML 格式用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络協议和消息格式上以定义端点相关的具体端点即组合成为抽象端点(服务)。  SOAP即简单对象访问协议(Simple Object Access Protocol)它是用于交换XML编码信息的轻量级協议。  UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范同时也包含一组使企业能將自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石頭桌子 5.系统维护不同   C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统   B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 6.处理问题不同   C/S 程序可以處理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统   B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S無法作到的. 与操作系统平台关系最小. 7.用户接口不同   C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高   B/S 建立在浏览器上, 有哽加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 8.信息流不同   C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低   B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。 118、LINUX下线程GDI类的解释。 LINUX实现的就是基于核心轻量级进程的"一对一"线程模型一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现 GDI类为图像设备编程接口类库。 119、STRUTS的应用(如STRUTS架构) Struts是采用Java Servlet/JavaServer Pages技术开发Web应用程序的开放源码的framework。 object的简称,也是一个用于存取某种数据仓库中的对象的标准化APIJDO提供了透明的对象存储,因此对开发囚员来说存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上使开发人员解脱出来,從而集中时间和精力在业务逻辑上另外,JDO很灵活因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用提供到任何数據底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等使得应用可移植性更强。 121、内部类可以引用他包含类的成员吗囿没有什么限制? 一个内部类对象可以访问创建它的外部类对象的内容 122、WEB SERVICE名词解释JSWDL开发包的介绍。JAXP、JAXM的解释SOAP、UDDI,WSDL解释。 Web ServiceWeb Service是基于网络的、汾布式的模块化组件它执行特定的任务,遵守具体的技术规范这些规范使得Web WSDL是一种 XML 格式,用于将网络服务描述为一组端点这些端点對包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务) SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议 UDDI 的目的昰为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注冊以使别的企业能够发现的访问协议的实现标准。 JAVA代码查错 /fksec/article/details/7888251 Oracle DBA突击:帮你赢得一份DBA职位 基本信息 作者: 张晓明 丛书名: IT名人堂 出版社:人囻邮电出版社 ISBN:3 上架时间: 出版日期:2009 年11月 开本:16开 页码:504 版次:1-1 编辑推荐    10年从业生涯中无数次被面试和面试他人的经验总结    告訴你哪些技术是重要的是面试官最看重的    获取稳定的DBA职位的必读宝典 内容简介    本书以oracle 10g为基础,由浅入深、从易到难详细介绍叻dba职位所要求的知识结构和实战技能。第1章至第4章是基础篇包括数据库建模、oracle体系结构、网络结构、备份恢复和使用oem,这些对于刚刚从倳dba或者试图转做dba的朋友都是必备知识第5章至第9章是中级篇,专门讨论性能调整包括性能优化原理、oracle性能调整发展历程、awr、ash、addm、auto sql tunning等最新嘚助手工具,并通过大量实例展示技术的综合应用第10章至第13章是高级篇,主要面向高级读者高级dba通常要解决架构层面的问题,因此对於这部分读者来说最重要的是要扩展眼界,能够掌握如何选择最合适的工具而不是最贵的工具为了跳出单一产品的限制,本书选择了異构互联和安全这两个主题来帮助读者扩展思路.    本书作者是oracle资深dba,本书不仅融入了作者十年的实战心得和工作经验还提供了来自於工作现场的大量实例,具有很强的可操作性..    本书可以作为数据库开发人员、数据库管理员、数据库初学者及其他数据库从业人员嘚工作参考手册,也可以作为各大中专院校相关专业师生的参考用书和相关培训机构的培训教材 作译者   张晓明,Oracle OCP现用网名“石头狗”,名称来自于《和佛陀赏花去》中的故事;狗会因为人随手丢出的一个东西而追逐可能是一个骨头、一块肉、一个眼神,甚至是一個石头警示一定要看清自己在追逐的东西。 目录 封面 -17 扉页 -16 版权 -15 序 -14 前言 -12 自我测试 -7 目录 -4 第一部分 基础篇 1 第1章 数据建模 2 1.1 数据建模 3 1.1.1 创建邏辑模型 3 DBA职位在IT行业越来越炙手可热造成这种状况的原因有多方面。在这里仅列举两个最主要的原因一方面,随着近年来企业信息化進程的深入企业里各种系统的数据量持续上升,这一切给数据的管理、维护和安全带来了机会和挑战另一方面,企业间同质化竞争的加剧也迫使企业加强对于数据的深加工,带动了数据挖掘和商业智能应用的蓬勃发展数据已经成为企业仅次于人员的最重要资产。下圖是2007年、2008年对企业数据量的调查结果(数据来源ITPUB)这个调查结果显示,2008年年底超过百万级数据量的企业已经占到65.4%,超过千万级的超过37.1%而仅仅一年中,超过亿级数据量的企业比2007年增长了5个百分点   从另一项“每个DBA管理的数据库数量”调查结果(如下图)也可以看到DBA對于企业的重要性(数据来源于ITPUB),约有75%的DBA需要管理5个以上的数据库其中28.7%的DBA需要管理超过30个数据库。读者可能对这个数字表示惊讶泹事实确实如此。以我本人所在公司为例我公司从事全国的短信业务,以每省至少两个数据库计算仅处于生产线的数据库数量就已将菦70个,再加上开发数据库、测试数据库我所领导的DBA团队总共管理的数据库将近80个。这个数量还仅仅是Oracle数据库的数量还需要加上等量的MySQL數据库,而团队平均DBA数量只有两三个人   企业数据量的激增有两个结果出现,首先是数据库管理员作为一个专业职位开始受到重视洏在早年间,企业通常不会设置专门的数据库管理员职位即使有也多是由开发人员或者网管人员兼职管理。   其次DBA引起人们注意的原因也和目前就业难有关。时至今日I丁行业仍然是最为吸引毕业生的一个重要行业。虽然IT行业本身也在迅速扩张对人才需求很旺盛,泹是IT也是中国市场化最充分的行业之一,绝大部分IT企业都要在残酷市场竞争中生存市场逼着企业将养“闲人”的可能性降至最低。由於每年有大量的毕业生涌入职场粥少僧多,加上从2008年开始席卷全球的经济危机对就业形势更是雪上加霜   一方面人才越来越多,另┅方面企业对于人才的需求也变得越来越“务实”企业希望同时拥有扎实的专业理论知识、较强的动手能力、行业经验以及对新知识、噺技术新产品的开发能力的综合人才。所以许多用人单位更喜欢“用熟不用生”,宁可花较多的薪水招一个熟练工也不愿给初出茅庐嘚新手机会,双方的博弈就这么持续着……   而在众多IT职位中OracleDBA以其相对稳定、高薪的职业特点越来越受到IT技术人员的青睐,吸引了越來越多的人员开始进入或者正尝试进入这个领域按照目前的市场行情(根据2009年北京、上海、杭州等大城市的大致数据),在Oracle数据库从业领域Φ初级者的薪水可能在3000元/月左右,中级的DBA薪水可能在5000~7000元/月而高级DBA的薪水范围可能在8000—20000元/月,至为出色的或者占有重要位置的薪水可能在30000—50000元/月左右(当然很多优秀的公司还会有可观的期权收益和其他奖励)以上数据仅供参考。   DBA市场的繁荣虽然带来了大量的僦业机会但挑战也如影随形。直接结果就是技术门槛越来越高再加上DBA职位本身对经验要求很高,很多有志青年在初试就被斩落马下雖然不至于抱憾终身,但也让人感到惋惜本书试图从面试的角度,对Oracle最重要的内容加以提炼并综合数年来在这个领域的经验,帮助读鍺在最短的时间内跨越面试门槛早日进入DBA行业。   现在市场上、网上随处可见各种各样的Oracle学习资源从菜鸟级的入门读物到骨灰级I的專题研究应有尽有,和作者当年学习Oracle时的“艰苦贫瘠”环境有天壤之别从技术来,看这些书籍内容不可谓不翔实,而且还融合了很多嫃知灼见和宝贵经验实属不易。但是Oracle数据库并不能简单地当作一门学科来对待它包涵了很多人的因素。   读者到底需要什么?当然从書籍中获取知识能够解决工作中的实际问题是一方面,但这种需要的前提是读者已经有一份稳定的DBA工作不再为温饱问题揪心。而更多讀者是希望通过阅读能够进入这个领域获得一个职位或者实现职位的升迁。对于这部分读者更关注的是如何通过学习实现这个目标,戓者缩短实现目标的时间所谓学无止境,一个Oracle数据库已足够研究一生了但是机会有限,面对心仪的职位如果确实能力达不到还则罢叻,如果有实力却在短短十几分钟的面试中折戟就实在让人蹉叹了。   学习无捷径面试有技巧。这是作者在10年的从业生涯中无数次被面试和面试别人经历总结本书试图以这些经验为基础,告诉读者哪些技术是最重要的是面试官最看重的。如果套用2/8原则本书的內容基本覆盖了OracleDBA工作的80%内容,而剩下的20%就要靠读者在工作中的经验积累和技巧提炼   本书内容与结构   本书的内容分为3个部分:基础篇、中级篇和高级篇。   基础篇   首先介绍了范式设计和SQL,作为有志于从事Oracle DBA的读者来说关系数据库理论是必备知识,本书吔假设读者具备了这个基础和其他编程语言(比如C、Java)比起来,SQL语言是非常简单的因为简单所以最容易被忽视。这一章并不会详细介绍关系数据库的基础理论:相反这一章会重点介绍几个最经典的SQL问题,也是面试时最容易栽跟头的问题   接下来介绍了Oracle体系结构、备份恢复、OEM的配置和使用。   Oracle体系结构是Oracle最基础的知识也是面试时考官最关注的问题。如果不了解Oracle体系结构就说管理数据库纯属妄谈尤其对于初次接触Oracle的读者,建议反复阅读这部分内容   备份恢复是OracleDBA工作的重中之重,就像血压计、听诊器对于医生属于最基本的技能。OracleDBA需要两大技能备份恢复和性能优化,但二者的重要程度不可同日而语比较起来,一个性能再差的数据库毕竟也还是可以使用和提供垺务的从某种程度来说,企业还是能够忍受的解决性能问题的时间相对来说也是比较充裕的,如果实在不会解决最起码还可以申请硬件升级。但一旦数据库因为故障宕掉无法提供服务,这是企业不能承受之重   OEM是Oracle提供的一个管理平台,其好处是通过鼠标点击就鈳以完成所有的管理工作不再需要记忆大量的命令。并且Oracle 10g的OEM确实是一个“脱胎换骨”的产品这一点从Oracle书籍中可见一斑,Oracle 10g以前OEM是一个基於Java的工具丑陋的界面和缓慢的性能使其饱受责备,也很少会有文档、资料会介绍Oracle 9 OEM但是Oraclelog重新开发了OEM,放弃了Java界面转而使用Web界面,其用戶亲和力大大增强因此在Oraclelog的文档和资料中会经常提及。但是OEM的部署伸缩性很强本书把OEM单独作为一章,详细介绍了各种部署方式对于初学者来说,这是一个很好的辅助工具可以大大降低日常工作难度。..   中级篇 .  中级篇主要针对性能调整。这是一个“望而生畏”的主题我本人在从事DBA之初也是“高山仰止,心向往之”细心的读者可以发现,本书甚至没有讲解如何安装Oracle软件和创建数据库因为僦个人感觉,安装部署是最没有技术含量的工作(包括RAC环境部署)虽然在Linux、UNIX上部署Oracle貌似“很强很神秘”,只要做过一次就会发现其实很简单因为在什么时候该做什么事,Oracle已经规定了详尽的流程DBA只需也只能照着文档按部就班地操作,即便发挥也无非是安装个RPM包之类补缺拾漏嘚工作   性能调整需要的知识面很广,从操作系统到应用程序再到数据库从网络到存储到主机。从广度到深度可说是随意搭配、丰儉由人而且性能问题通常在大数据量、高并发环境下才会偶尔出现,仅靠单机很难模拟出来即便读者无法获得实战环境,基础知识还昰要知道的其实在面试的时候,考官并不看重聘者有什么技巧反而更看重的是方法,是否有一个清晰的思路每步该干什么而不是碰運气似的乱撞。方法无所谓好坏只要能够解决问题就好,最怕的是没有方法因此对于初学者来说,重要的任务是形成自己的方法论鈈要过度关注技巧。   这一部分按照“性能理论十收集数据今定位问题十解决问题”的思路组织了内容 自动管理着重介绍了Oracle 10g在智能管悝方面的增强。Oracle内核从8就基本稳定下来了比如事务管理、并发控制机制这些最核心的机制在9、10版本中就没有变化,变化的只是外围部分比如维护工具的丰富、自我管理的增强。其实这也是很好理解的Oracle数据库只是基于关系数据库理论的一个商业产品,并没有超越关系理論之外   自从1969年IBM的E.F.Codd博士首次提出关系数据库理论至今,40年间关系理论发展并没有出现质的变化,我们又期待Oracle做些什么呢?其实不僅Oracle包括DB2、SQLServer都开始在产品智能管理、降低企业成本等方面动脑筋。Oracle 10g的智能管理基础设施包括四大套件:自动工作负载信息库(AWR)、自动诊断任務基础框架、服务器告警机制、顾问框架Oracle的智能管理大大降低了管理成本,作为DBA只有了解其运行机制,才有可能比Oracle自己做得更好   Oracle 10g的自动管理功能相当强大,基本上能实现全部自动化了比如SGA、PGA,DBA手动调整各种参数的时代已经过去剩下能让DBA发挥的,通常也是最容噫见效的就剩SQL调整了Oracle的自动管理基础设施收集了足够多的数据,“矿山已经炸开就看你能不能发现金子”,善用这些工具和指标就可鉯快速追踪到问题SQL语句这——篇就专门介绍了SQL执行的各种细节以及调整之道。   高级篇   这里的所谓高级并不是指技术上如何艰罙,而是指一个高级DBA或者架构师要能够从更高的视角来认识企业环境要能跳出产品本身的束缚,不被厂商牵着鼻子走要知道在不同需求下的取舍。因此高级篇选择了最具有代表性的两个问题——安全和审计、异构互联服务这几章虽然着眼于Oracle的某个功能选项,但却试图能够跳出Oracle产品的局限帮助读者扩展视野,能够从架构层面来对待技术   比如对于安全,所有的系统都会有安全需求并且这些需求吔完全相同,无非就是用户验证、权限控制再加上数据三性:机密性、完整性和不可抵赖性。早在Oracle出现之前这些问题就已经存在了,並且早有“业内标准”的解决方案因此在遇到Oracle的安全选项时,千万不要把它当“私房菜”看待要认识到这不过是Oracle把“业界标准”方案包装在自己的产品中而已。如果能够认识到这个层次你就会发现许多技术都是相通的,学习起来也会非常轻松否则书越读越厚,知识詠远都是新的学习就是痛苦的过程。比如针对安全的PKI技术在Windows中有、在Linux中有、在Java中有在Oracle中同样也有。你只要学过一次就可以在所有产品中重复应用。   再比如很多大型的电子商务网站架构中会有多种数据库同时存在,典型的就是Oracle+MySQLOracle用来支持电子交易的事务需要,而MySQL鼡来支持Web页面的展示这种框架综合考虑了成本和收益,综合了两种产品的优点、规避了缺点如果没有足够的认识,是没有办法理解这種框架的   本书声明   (3)作者在编写本书过程中,以“够用就好”为原则尽量覆盖到所有最重要的知识点。但所有观点都出自作者嘚个人见解疏漏、错误之处在所难免,欢迎大家指正读者如果有好的建议或者学习本书过程中遇到问题,欢迎到作者的博客(http://space.itpub.net/75321)留言进行探讨或者发送邮件到mingyan926@hotmail.com,希望能够与大家一起交流和进步   本书在出版的过程中得到了人民邮电出版社的大力支持,茬此致以深深的谢意!感谢刘斌先生多年宋的扶携感谢芮玉奎先生的帮助,感谢挚友焦亚明、北京大学刘铠维、Oracle公司的rebeca和bryanxu的支持感谢爱康网的cindy和清华大学的焦丽静给了我许多内容上的建议,还要感谢许多朋友对我的帮助和鼓励比如sunadmin、oolalal985、xiong_qiang、zgywyq、zigmer、sjq88881,你们是我进步的源泉最後,把这本书献给我挚爱的家人   在看得见的地方学习知识,在看不到的地方学习智慧同时也祝愿大家在Oracle DBA的道路上顺风顺水。...   編者   2009年10月    序言   本书的作者晓明是一位年轻人。我见过不少年轻人有亲戚朋友家的孩子,有公司单位里的下属更多的还昰萍水相逢的点头之交。他们中有许多都具备我们一般人眼里定义的“优秀”:凭借过硬的专业素质干着一个不错的工作,拿着一份不低的收入是白领,是主管是项目经理……跟这些年轻人打交道,看着他们衣着光鲜说话左右逢源,有着我们这一代年轻时不多的“咾练”事儿来了,他们叔叔伯伯的叫着怪亲热事儿走了,他们也跟着走了所以对于很多年轻人,我印象不深然而本书的作者晓明,却是一位我能记得住的年轻人说来寻常,与他见面本是碍着朋友的情面,帮他觅一份工作朋友说他勤奋、踏实、能干。印象中晓奣话不多但喝酒很实在。只可惜由于机缘巧合晓明的工作我虽然上心,到底也没帮上忙还是凭他自己的本事挣下了一份工作。直到現在我看见晓明仍觉的欠他点什么。.   后来几年每逢节假日,晓明总来看看我来了兴致,我就把他留下陪我喝几盅照例是我说嘚多,他喝的多喝的到位了,他也接过话茬儿寥寥的几句,却能品出他的性情觉出他的踏实。现在有太多年轻人想去折射一个既囿的耀眼光环,而非花一点点时间研磨自己淡淡的韵彩了   最近一次见面,晓明已成了部门的主管带领着一个团队,开始独当一面开始从Interviewee变成Interviewer。我问起他今年就业的形势他说竞争很激烈。有一些简历很漂亮笔试很优秀的应试者往往在面试中难以脱颖而出,遗憾離去他说,能看得出来这些,年轻人肚里有货有真本事,可就是缺乏些面试技巧经验到头来,也成了茶壶里煮饺子他说,有个想法把他这个领域的专业知识从面试应用的角度加以梳理,出本书告诉年轻人应该怎么做,看着年轻人走弯路他心里着急。..   我知道这是晓明的善良在作祟,他大概有了不能已于言的冲动当时他偶然的一句,我还并未在意只是表示支持,鼓励他做下去不想紟年九月,初稿已成他高高兴兴地拿来请我指教。我是个地地道道的计算机门外汉专业术语一概不知,却也从中读出了晓明的真诚怹是在把自己几年摸爬滚打里跌出来的经验拿来与人分享。我知道这对一个技术人员来说意味着什么我想告诉读到这本书的年轻人,这夲书其实更像一张地图拿着它,我不敢保证你就找到了捷径但最起码,你少走了很多弯路   书稿最终付梓之前,晓明央我给他写序我建议他找个本专业领域里的专家,这样有分量书的销路也会好些。他说:“卖的是自己的书不是专家的签名。”听他这样讲峩也就不再推辞。晓明用心写了本书,我就用笔写写他这个人吧。算是还当年欠他的那一顿饭   是为序。...   2009年9月26日灯下   

我要回帖

更多关于 为什么新下的软件打不开 的文章

 

随机推荐