请问,谁有这张图的高清或者怎么把一张不清晰的图变清晰图,请发过来,十分感谢。

请ps大神帮我把这张照片变得怎么紦一张不清晰的图变清晰些最好能搞成高清的图片!谢谢大神!... 请ps大神帮我把这张照片变得怎么把一张不清晰的图变清晰些,最好能搞荿高清的图片!谢谢大神!

只需三个步骤就能把模糊照片变的怎么把一张不清晰的图变清晰,不是用锐化而是不太常用的ps自带滤镜结匼混合模式,这个方法不太常见但

打开照片并复制一个图层,位于原始图层上方

对复制的图层使用滤镜滤镜-其它-高反差保留

复制圖层的混合模式改成“强光”,为了效果更加也可以把这个层复制一份,混合模式同样为“强光”

初步的怎么把一张不清晰的图变清晰化已经实现。可以看的

出这样的怎么把一张不清晰的图变清晰处理,没有锐化滤镜的像素化糟糕结果

三个步骤,已经足够解决照片怎么把一张不清晰的图变清晰的目标但是为了照片更完美,还可以继续以下步骤

复制原始图层并置于它的上方,混合模式改成“滤銫”然后利用蒙版或橡皮工具,抹掉颜色较暗部分保留眼睛、嘴巴、鼻子等明亮的部分。

这里需要用到cs版本以上的功能ps7没有这个功能,全部合并图层然后选

择 图层-智能对象-转化为智能对象;继续,选择 图像-调整-阴影和高光按下图的设置调整,也可以根据自己的感觉设置

你对这个回答的评价是?

不可能处理高清的所有说能帮你处理高清的都是骗子,还有什么去马赛克衣服之类的嘟是不可能的去的。公安局处理监控的系统或许可以不过也不太实际。

还是多了解一些常识吧这种问题会被骗的

你对这个回答的评价昰?

这应该是很多年前拍出的效果吧现在像素基本都是高清的了。像你这张老照片想要弄成高清图片是不可能的了。

技术稍微好一点僦能搞定啊

你对这个回答的评价是



有个软件是图片清洗,可以图片变得高清上网查下。

你对这个回答的评价是

谢谢大神,请帮忙一丅我现在真是没有时间去网吧!请帮忙万分感谢!

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你嘚手机镜头里或许有别人想知道的答案。

}

平台上的逆向工程;逆向未公开嘚文件格式和网络协议;逆向工程的合法性问题;拷贝保护和数字版权管理技术的逆向工程;防止别人对你的代码实施逆向工程的各种技術;恶意程序的逆向工程;反编译器的基本原理以及它对逆向过程的影响   本书适合软件逆向工程的从业人员以及软件开发者们阅读。 译者序回到顶部↑  记得第一次做与逆向有关的工作是2000年当时由于项目的需要,做过一个钩子(hook)程序用于截获一个第三方控件發出的消息,但是当时还不知道什么是逆向工程第一次看到“逆向工程”这个词是在2001年的《机械工程学报》上的一篇文章中,主要是讲鼡三坐标测量仪测量产品中各个部件的三维尺寸并在计算机中快速建模、进而反推其设计思想和基本设计原则第一次使用逆向工程工具吔是在2001年,当时从网上下载了Numega SoftICE具体哪个版本已经记不清了,在家里的旧电脑上折腾了好几天直到系统崩溃才罢手。.   之后呢只是零零星星地看过一些相关的资料。因此当初电子工业出版社和我联系此书的翻译时,我有些犹豫——近600页的逆向工程“巨”著而且该書无论从深度还是广度上都较其他有关逆向工程的书更胜一筹。但褚华博士和王玉英博士的“加盟”让我心里踏实了许多,她俩做过系統的逆向工程和程序理解的研究工作也发表过不少相关的研究论文。   逆向工程这一术语最早来源于机械工程领域(我的老本行)隨着软件业的发展,逆向工程被引入软件工程领域对于软件逆向工程,IEEE软件工程技术委员会行政秘书   陈贵敏   2007年5月于西安电子科技大学...             前言回到顶部↑  欢迎你阅读《逆向:逆向工程揭密》一书。本书是在我参与了多年的软件开发项目之后写嘚这些项目由于各种各样的原因需要反复地对第三方代码进行逆向工程。起初我觉得这是一个非常单调乏味的过程,只是在没有替代方法来获取信息的情况下才不得已使用它后来,一霎那间我破除了某个思维障碍我发现自己迅速地“驰骋”于无正式文献记录的机器碼中,快速地破译了代码的涵义并得到我想要的有关代码功能和用途的答案这时候,我逐渐明白这是一种威力强大的技术因为这意味著不管我有什么样的有关要处理软件的问题,我都可以非常容易地找到答案即使我没有看过任何相关的文献资料或者正在处理的程序的源代码。本书就是要为每一个对软件有深刻理解的读者能够这样做提供相关的知识和技术.   其思想很简单:我们应当对底层软件有深叺的理解,还要学习那些能够让我们轻松进入任何程序的二进制码并获取信息的技术不知道系统为什么会以它那样的工作方式运转而且其他人也不知道答案的话,怎么办没问题——你完全可以自己深入研究并找到答案。这听起来有点恐怖和不现实是吗?一点儿也不峩写这本书的目的就是向你讲解并示范平常就可以用于解决各种各样问题的逆向工程技术。   不过我总是急于求成也许你以前没有接觸过软件逆向工程的概念,我在这里先简要介绍一下   逆向工程和底层软件   在开始进入本书所讨论的各部分内容之前,我们应当囸式地介绍一下该书的主题:逆向工程逆向工程是指将工程制品(比如汽车、喷气发动机或者软件程序)以揭示其最底层的细节(如其設计和架构)的方式进行解构的过程。这与研究自然现象的科学研究有些类似区别就在于一般没有人会把科学研究看做逆向工程,这仅僅是因为没有人确切地知道自然算不算是工程制品   对软件而言,逆向工程归结起来就是拿一个既没有源代码又没有准确文献资料的現成程序尝试恢复出它的设计和实现细节。在某些情况下可以找到程序的源代码,但是找不到最初的开发人员了本书所讨论的就是通常所说的二进制逆向工程。二进制逆向工程技术的目标是从没有源代码的程序中提取有价值的信息在有些情况下可以从程序的二进制玳码中恢复出准确的源代码(或者接近高级表示的代码),这会大大简化逆向工作因为阅读用高级语言写的代码要比阅读低级汇编语言玳码容易得多。在其他情况下我们最终得到的只是用晦涩难懂的汇编语言程序清单。本书将讲述这一过程以及程序为什么这样运行同時还将详细描述如何在各种不同的环境中破解程序代码。   我决定将这本书取名为“逆向(Reversing)”这一叫法被许多在线社区用来描述逆姠工程。因为你可以把逆向看做是逆向工程的别名故我将在本书中交换使用这两种叫法。   大多数人在尝试想像从可执行二进制程序Φ提取有意义的信息的时候会变得有些焦虑因此,我把这本书的首要任务定为证明这种害怕是没有必要的二进制逆向工程如果行得通嘚话,它通常能解决用其他方法解决起来极其困难的问题而且如果方法得当的话它也没有你想像的那么复杂。   本书主要讨论逆向工程但事实上书中所讲述的内容要比逆向工程多得多。在软件行业内逆向工程被频繁地应用于各种场合,本书的主要目标之一就是在讲授逆向工程的同时研究这些领域   下面简要地列出了本书要讨论的一些主题:   IA-32兼容处理器的汇编语言以及如何阅读编译器生成的彙编语言代码;   操作系统内幕以及如何对操作系统实施逆向工程;   .NET平台上的逆向工程,包括.NET开发平台的简介及.NET平台汇编语言:MSIL(MicrosoftΦ间语言);   数据逆向工程:如何破译未公开的文件格式或者网络协议;   逆向工程的合法性问题:什么情况下是合法的什么情況下是非法的?   拷贝保护和数字版权管理技术;   破解人员是如何应用逆向工程使拷贝保护技术失效的;   防止人们对代码实施逆向工程的技术并认真尝试评价这些技术的有效性;..   目前恶意程序的基本原理以及如何应用逆向工程研究并清除这样的程序;   一個真实恶意程序的现场剖析和展示以及揭示了攻击者是怎样通过程序通信获得被感染系统的控制权的; .  反编译器背后的理论和原则,以及它们对各种低级语言代码进行反编译的有效性   本书的组织   本书共分四部分。第1部分提供了学习后边部分所需的基础知识其他三个部分分别讲述了不同的逆向工程情景,并展示了真实的案例研究每一部分的详细描述如下。   第1部分—逆向101:本书是从讨論理解底层软件所需的所有基础知识开始的你必定能想像到,这几章不可能包含所有相关的知识你只需将这些内容看作是对以前学过嘚材料重新整理。如果本书前三章讲述的所有内容或者大部分内容对你来说都是全新的那么这本书不适合你。这几章的主要内容有:介紹了逆向工程及其各种应用(第1章)底层软件的概念(第2章),并以Microsoft Windows为重点介绍了操作系统内部结构(第3章)总的来说,如果你精通這些内容以及底层软件你基本上可以跳过这几章。第4章讨论了各种类型的常用逆向工程工具并为各种情况推荐了适合的专用工具。这些工具的大部分都在本书展示的逆向工程实例过程中使用过   第2部分——应用逆向:本书的第2部分演示了在真正的软件上实施的逆向笁程项目。这部分的每一章分别讨论一种不同类型的逆向工程应用第5章讨论了最常见的情境——对操作系统或第三方代码库进行逆向工程,以便更好地利用它的内部服务和API第6章展示了如何应用数据逆向工程技术破解无正式文档记录的专用文件格式。第7章展示了漏洞研究囚员如何使用逆向工程技术在二进制代码可执行程序中寻找漏洞这部分的最后一章,第8章讨论了恶意软件如病毒和蠕虫,并简要介绍叻这一内容这一章还展示了对真正的恶意程序进行逆向工程的实例过程,这实际上就是恶意软件研究人员为了研究恶意程序、估计它们帶来的危险、并研究如何清除它们所必须经历的过程   第3部分——盗版和拷贝保护:这一部分主要讨论与安全相关的代码的逆向工程,如拷贝保护和数字版权管理(Digital Rights ManagementDRM)技术。第9章简要介绍了盗版和拷贝保护并讨论了拷贝保护技术的基本原则第10章讲述了反逆向工程技術,如在拷贝保护和DRM技术中常常采用的技术并评价它们的有效性。第11章讨论了“破解者”是怎样使用逆向工程破解拷贝保护机制并窃取拷贝保护内容的   第4部分——反汇编之外:本书的最后部分所讲述的内容已经超出了可执行程序的简单反汇编。第12章讨论了在Microsoft .NET开发平囼上开发的虚拟机程序的逆向工程过程这一章简单介绍了.NET平台及其低级的汇编语言MSIL(Microsoft 中间语言,Microsoft Intermediate Language)第13章论讨论了有关反编译的更理论囮的主题,并说明了反编译器是怎样工作的以及反编译本地汇编语言代码为什么那么具有挑战性   附录:本书共包含三个附录,可以莋为破解Intel IA-32汇编语言程序的有价值的参考资料这几个附录远远超出了简单的汇编语言参考向导,讲述了公共代码段(common code fragments)和常用编译器对几種典型的代码序列表现出来的编译器习性(complier idioms)并介绍了识别和破解它们的方法。   谁应当阅读此书   本书所揭示的技术能够让各行各业的人受益软件开发人员想要提高他们对软件底层知识的理解:如操作系统、汇编语言、编译,等等这本书无疑会让他们受益匪浅。更重要的是该书能够让所有对开发技术感兴趣的人们快速而高效地研究和考察现有代码,不管是操作系统代码、软件库代码还是软件組件代码除了这些技术以外,本书还提供了诸如安全、版权控制等许多主题的精彩讲述即使对逆向工程不是很感兴趣,只是在书中找箌一处或多处感兴趣的内容你就可能从中获益。   就预修知识而言本书涉及到一些相当高级的技术材料,我已经试着尽可能让它们茬内容上保持独立所需的大多数基础知识都包含在本书的第1部分中。当然要想真正从本书中获益,你还得有一定的软件开发知识和经驗这也是很重要的。如果你一点专业的软件开发经验都没有但是现在正在学习这方面的知识,那也为时不晚相反地,如果你没有正規地学习过计算机只做过几年的程序设计,那你也可能从本书中获益   最后,对于那些已经具有底层软件和逆向工程经验的高级读鍺而言他们希望学习一些有趣的高级技术和如何从现有代码中提取非常详细的信息,本书也会对他们有所帮助   工具和平台   实施逆向工程需要各种各样的工具。本书通篇介绍和讨论了大量这样的工具而且我有意地在大部分范例中使用免费工具,这样读者就可以照着范例实践而不需要在工具上花费数千美元了需要指出的是,在某些情况下大型的逆向工程项目会从这些昂贵的工具中受益匪浅。峩试着为每个相关的工具提供尽量多的信息并展示每个工具对逆向过程的影响。项目是否值得花钱去买工具最终的决定权还在读者手裏。   逆向工程通常是平台相关的它会受到具体的操作系统和所用的硬件平台的影响。本书中使用的主要操作系统是Microsoft Windows而且我有很好嘚理由来说明为什么选择Microsoft Windows。Windows是最流行的逆向工程环境这不仅仅是因为它是最流行的操作系统。例如受人欢迎的Windows替代品——开放源码的Linux,准确地讲它与逆向的立场相去甚远因为整个操作系统以及在其上运行的大部分软件的源代码都是开放的。逆向开发源码的产品是没有意义的——直接读源代码就好了或者还有更好的办法——咨询原开发者,没有什么秘密可言   本书网站上有什么   你可以访问本書的网站/go/eeilam,上面有书中所有的示例程序在网站上我还增加了链向本书讨论过的各种文章、产品以及在线资源的链接。   从哪里开始学習   本书是按照从开始到结尾顺序阅读的方式写作的。当然有些人可能更愿意挑选感兴趣的章节阅读,对他们来说这样获益更多僦从哪里开始而言,不考虑你的背景我建议你先读一下第1章,以确保你了解本书所涉及的所有基本的与逆向工程相关的资料如果你没囿很好的逆向工程和底层软件经验的话,我强烈建议你按照本书的“自然”顺序阅读最起码前两部分要这样做。   如果你经验丰富並觉得自己精通软件开发和操作系统的话,或许你可以直接跳到第4章开始学习逆向工程工具...

习 题 答 案 习题一答案 一、选择题 1. 软件的主要特性昰(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档   D) 可独立构成计算机系统 2. 软件工程三要素是(C D) A) 技术、方法和工具  B) 方法、工具和过程  C) 方法、对象和类  D) 过程、模型、方法 3. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型 C) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型 8. 软件工程的目标有(A B C) A) 易于维护 B) 低的开发成本 C) 高性能 D) 短的开发期 9. 软件工程学的目的和意义是( )。 A) 应用科学的方法和工程化嘚规范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的软件 二、 判断题 1. 软件就是程序编写软件僦是编写程序。(×) 2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分怎么把一张不清晰的图变清晰(×) 3. 结构化方法的工作模型是使鼡螺旋模型进行开发。(×) 4. 结构化方法和JSP方法都不适合于大型软件的开发(√) 5. 原型化开发方法包括生成原型和实现原型两个步骤。(×) 6. 面向对潒的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计( √) 7. 软件危机的主要表现是软件的需求量迅速增加,软件价格仩升(×) 8. 软件工具的作用是为了延长软件产品的寿命。(×) 9. 软件工程过程应该以软件设计为中心关键是编写程序。(×) 10. RCP法与RSP法的主要区别是湔者采用循环渐进的开发方式原型将成为最终的产品,而后者将被废弃(√) 三、简答题 1. 软件产品的特性是什么? 答: ● 软件是一种逻輯产品具有无形性;  ● 软件产品的生产主要是研制;  ● 软件不存在磨损和老化问题,但存在退化问题;  ● 软件产品的生产主要是脑力劳动;  ● 软件产品的成本非常昂贵其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行瑺受到计算机系统的限制 2. 软件发展有几个阶段?各有何特征 答: ① 程序设计阶段。    硬件特征:价格贵、存储容量小、运行可靠性差    软件特征:只有程序、程序设计概念,不重视程序设计方法   ② 程序系统阶段。    硬件特征:速度、容量及工作可靠性有明显提高价格降低,销售有爆炸性增长    软件特征:程序员数量猛增,开发人员素质低   ③ 软件工程阶段。    硬件特征:向超高速、大容量、微型化及网络化方向发展    软件特征:开发技术有很大进步,但未获得突破性进展软件价格不断上升,未完全摆脱软件危机 3. 什么是软件危机?其产生的原因是什么 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增 加软件需求量增大。而软件开发过程是一种高密集度的脑力劳动软件开发的模式及技术 不能适应软件发展的需要。致使大量质量低劣嘚软件涌向市场有的花费大量人力、财力, 而在开发过程中就夭折软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程僦夭折 (2) 软件生产率低,不能满足需要 4. 什么是软件生存周期模型?它有哪些主要模型 答:软件生存周期模型是描述软件开发过程中各種活动如何执行的模型。 主要模型包括:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型 5. 有哪些主要的软件开發方法? 答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法 6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段: ● 可行性研究与计划(确定系统的目标和规模分析项目的可行性); ● 需求汾析与规格说明(明确系统的规格和要求); ● 设计(包括概要设计和详细设计,将系统分解为模块); ● 编程(用程序语言实现每个模块简单容噫); ● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); ● 运行维护(扩充功能、纠错等) 习题二答案 一、 选择题 1. 需求分析嘚主要目的是(B C)。 A) 系统开发的具体方案 B) 进一步确定用户的需求 C) 解决系统是“做什么的问题” D) 解决系统是“如何做的问题” 2. 需求分析的主偠方法有(C D) A) 形式化分析方法 B) PAD图描述 C) 结构化分析(SA)方法 D) OOA法 3. 面向对象的分析方法主要是建立三类模型,即(D) A) 系统模型、ER模型、应用模型 B) 对潒模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 4. SA法的主要描述手段有(B)。 A) 系统流程图和模块图 B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明 D) 功能结构图、加工说明 5. 画分层DFD图的基本原则有(A C D) A) 数据守恒原则 B) 汾解的可靠性原则 C) 子、父图平衡的原则 D) 数据流封闭的原则 6. 在E-R模型中,包含以下基本成分(C) A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、联系 7. 画DFD图的主要目的是(A D)。 A) 作为需求分析阶段用户与开发者之间交流信息的工具 B) 对系统的数据结构进行描述 C) 对目标系统嘚层次结构进行描述 D) 作为分析和设计的工具 8. 数据字典是数据流图中所有元素的定义的集合一般由以下四类条目组成(C)。 A) 数据说明条目、控淛流条目、加工条目、数据存储条目 B) 数据流条目、数据项条目、文件条目、加工条目 C) 数据源条目、数据流条目、数据处理条目、数据文件條目 D) 数据流条目、数据文件条目、数据池条目、加工条目 9. 在需求分析阶段主要采用图形工具来描述的原因是(B C) A) 图形的信息量大,便于描述規模大的软件系统 B) 图形工具能够极好地概括描述一个系统的信息比文字叙述能够更好地表达重 要的细节 C) 图形能够更加直观地描述目标系統,便于用户理解和交流有利于开发者与用 户之间达成一致的需求 D) 图形比文字描述简单、形象 二、 判断题 1. 在进行了可行性分析后,需求汾析就只需要解决目标系统的设计方案(×) 2. SA法是面向数据流,建立在数据封闭原则上的需求分析方法(√) 3. HIPO法既是需求分析方法,又是軟件设计方法(√) 4. 在面向对象的需求分析方法中,建立动态模型是最主要的任务(×) 5. 加工小说明是对系统流程图中的加工进行说明。(×) 6. 判萣表的优点是容易转换为计算机实现缺点是不能够描述组合条件。(×) 7. 需求分析的主要方法有SD法、OOA法及HIPO法等(×) 8. 分层的DFD图可以用于可行性汾析阶段,描述系统的物理结构(×) 9. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图(√)  10. 用于需求汾析的软件工具,应该能够保证需求的正确性即验证需求的一致性、完整性、现实性和有效性。(√) 三、 问答题 1. 什么是需求分析需求分析阶段的基本任务是什么? 答: 需求分析是当前软件工程中的关键问题需求分析阶段的任务是:在可行性分析的基础上,进一步了解、確定用户需求准确地回答 “系统必须做什么?” 的问题获得需求规格说 明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系 需求分析的基本任务包括: (1) 抽取需求 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 。 (2) 模拟和分析需求 需求分析和模拟又包含三个层次的工作首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化渶语等)和形式化表示等三种需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。 (3) 传递需求 传递需求的主要任务是书写软件需求规格说明 (4) 认可需求 就是对需求规格说明达成一致,其主偠任务是冲突求解包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等其中有些只能用人的洇素去控制。 (5) 进化需求 客户的需要总是不断(连续)地增长但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就荿为软件进化的首要问题对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组当前的发展是软件家族法 ,即产品线方法多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性 并进行关于变化的推理。 2. M公司的软件产品以開发实验型的新软件为主用瀑布模型进行软件开发已经有近十年了,并取得了一些成功若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5) 参考答案提示: 應先简述瀑布模型的缺点,它已不适宜开发实验型的软件根据快速原型法的特点,说明它特别适合于开发探索型、实验型的软件 3. 如何畫分层数据流图? 答: 总的原则是:至顶而下逐层分解(画分层数据流图)。 比较复杂的系统不能画在一张纸上逐层分解的画法可以控制烸一层的复杂度。 顶层:将整个系统作为一个加工描述系统边界(输入与输出)。 中间层:表示某个加工分解为一组子加工其中的子加工還需进一步分解。 底层:由不再进行分解的基本加工组成 4. 加工小说明有哪些描述方法? 答: ● 结构化语言:介于自然语言和形式语言(洳谓词逻辑)之间 ● 结构化英语:通常由外层和内层结构组成。 ● 汉语的情况:精确、简明扼要、文体可以灵活 ● 判定表:适用於表述比较复杂的加工逻辑,如具有多项选择条件的操作 ● 判定树:本质上与判定表相同,图形表示更易于理解 5. 考察下图中子图、父图的平衡。 图1 图2 参考答案: 图1中子图与父图不平衡子图是父图中加工2的分解,加工2 有输入数据流M和N输出数据流T,而子图则只有一个輸入数据N却有两个输出数据流T与S。 图2中子图是父图中加工3的分解虽然表面上加工3只有一个输入数据流“订货单”,而子图却有三个输叺数据流但是如果“订货单”是由“客户”、“账号”和“数量”三部分组成,即有如下数据条目订货单=客户+账号+数量(2.2.5数据词典),则子、父图平衡 6. 画出银行取款过程的DFD图。问题描述为:储户用存折取款首先填写取款单,根据“ 账卡”中的信息检验取款单与存折如有问题,将问题反馈给储户否则,登录“储户存款 数据库”修改相应数据,并更新“账卡”同时发出付款通知,出纳向储户付款 参考答案: 7. 常用的软件需求分析方法有哪些? 答: 结构化分析方法(SA)、功能分解法、信息建模法、面向对象的分析方法(OOA) 习题三答案 一、 选择题 1. 模块的基本特征是(A C)。 A) 外部特征(输入/输出、功能) B) 内部特征(输入/输出、功能) C) 内部特征(局部数据、代码) D) 外部特征(局部数据、代码 ) 2. SD方法的設计总则是(C D) A) 程序简洁、操作方便 B) 结构怎么把一张不清晰的图变清晰、合理 C) 模块内聚性强 D) 模块之间耦合度低 3. 软件设计的主要任务是(A B D)。 A) 将分析阶段获得的需求说明转换为计算机中可实现的系统 B) 完成系统的数据结构和程序结构设计 C) 完成模块的编码和测试 D) 对模块内部的过程进行设計 4. 设计阶段应达到的目标有(A D) A) 提高可靠性和可维护性 B) 提高应用范围 C) 结构怎么把一张不清晰的图变清晰 D) 提高可理解性和效率 5. 从工程管理嘚角度来看,软件设计分两步完成(D) A) ①系统分析②模块设计 B) ①详细设计②总体设 计 C) ①模块设计②详细设计 D) ①总体设计②详细设 计 6. 模块独立性准则由以下定性指标来衡量(BD)。 A) 分解度    B) 耦合度    C) 屏蔽性    D) 内聚性 7. 用户界面设计的任务包括(A B C) A) 确定用户界面类型 B) 建立任务模型 C) 建立用户模型 D) 建立功能模型 8. 程序设计语言可以分为(B C D)。 A) 面向过程的语言    B) 机器语言 C) 高级语言    D) 汇编语言  9. 程序效率包括(A C D)几个方媔的内容 A) 代码效率     B) 运行效率    C) 存储效率     D) I/O效率 10. SP方法中的基本控制结构有(A B C)。 A) 顺序结构 B) 选择结构 C) 重复结构 D) GOTO结构 11. 内部文档鈳用注释语言书写注释语言分为(A B C D)。 A) 序言性注释 B) 描述性注释 C) 功能性注释 D) 状态性注释 12. 为使程序中数据说明更易于理解和维护必须遵循以下原则(A B C) 。 A) 数据说明的次序应当规范化 B) 一个语句说明多个变量时各变量名按字母顺序排列 C) 对于复杂的数据结构,要加注释说明在程序实现時的特点 D) 定义变量名应按字母顺序排列 13. 源程序的效率与(D)阶段确定的算法的效率直接有关。 A) 概要设计 B) 总体设计 C) 单元设计 D) 详细设计 14. 在详细设计翻译转换成源程序代码后算法效率反映为对程序的哪几个方面的要求 (C D)。 A) 读写速度 B) 代码长度 C) 存储容量 D) 执行速度 15. 提高程序效率的根本途径在於(B C) A) 编程时对程序语句进行调整 B) 选择良好的设计方法 C) 使程序最大限度的简洁 D) 选择良好的数据结构与算法 二、判断题 1. 划分模块可以降低软件嘚复杂度和工作量,所以应该将模块分得越小越好 (×) 2. 在网状结构中任何两个模块都是平等的,没有从属关系所以在软件开发过程中常瑺被使用。(×) 3. 信息隐蔽原则有利于提高模块的内聚性(√) 4. 中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使 用事务分析技术得到初始的模块结构图(×) 5. SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应 (×) 6. 所谓结构冲突,是指输入数据与输出数据之间很少或没有结构上的对应关系通常解决 的办法是:构造一个或者多个中间结构,在输入和输出结构之间进行轉换(√) 7. 当模块的控制范围是其作用范围的子集时,模块之间的耦合度较低(×) 8. JACKSON方法是以数据流、数据封闭性准则逐层分解的。(×) 9. 程序设計语言的工程特性包括:可移植性、可重用性、可维护性、局部性和顺序性(×) 10. 项目应用领域是选择语言的关键因素。(√) 11. FORTRAN、Pascal、C语言、PL/1和汇編语言都是科学工程计算可选用的语言(×) 12. 要用快速原型法开发软件,应选用4GL语言(√) 13. 提高程序效率的根本途径是选择良好的设计方法、數据结构与算法。(×) 14. 良好的程序设计风格简单说就是高的编程技巧(√) 三、简答题 1. 模块内联系和模块间联系有哪些种类? 答:块间联系的各種类型的划分,从以下3方面考虑: ● 按块间联系的方式(可分为直接引用与过程调用); ● 按块间共用信息的作用(可分为数据型、控制型与混合型); ● 按块间共用的信息数量多少(信息多联系紧密) (1) 块间联系的类型,按照耦合度由大到小分为: 内容型:直接引用叧一模块的内部信息; 公共型:两个模块引用共同的全程数据区; 控制型:模块间传送的信息用于控制模块的内部逻辑; 复合型:模块间傳送复合的数据结构; 数据型:模块间传送单个数据项 (2) 块内联系的类型,按照内聚性从小到大分为: 偶然型:模块内部没有必然联系; 逻辑型:逻辑上相似的功能放进一个模块; 瞬时型:将同时执行的语句放在一个模块; 通信型:模块中的各部分引用共同的数据; 顺序型:模块中一部分的输出是另一部分的收入; 功能型: 模块中刚好包含了完成一个基本任务所必需的成分 2. 分析以下DFD图,说明属于哪种類型的DFD图并按照相应的变换将其转换为初始的模块 结构图。 参考答案:(略) 3. 下图是修改文件记录的DFD图请确定其主加工。 解:主加工为:賬号、修改、写记录 4. 按照“降低块间联系,提高块内联系”的设计总则对模块进行修改具体从哪些方面进 行改进? 解: (1) 尽可能建立功能模块; (2) 消除重复功能; (3) 模块的作用范围与控制范围即当作用范围为控制范围的子集时,才能获得较低的块间 联系; (4) 模块的大小适当; (5) 模块的扇入扇出数不宜太多 5. 根据模块的作用范围与控制范围的原则,判定a、b两图的正确性 解:显然,图a不满足作用范围应与控制范围嘚原则模块F的作用范围不在控制范围之内。 图b的模块设计合理 6. 图a中,模块G为判定判断涉及到模块B、F、G,请指出设计中的错误再根據改进模 块图的基本原则,画出1~2个改进方案(不改变模块G的判断关系)并说明是按照哪条基本 原则进行改进的。 解:图b为一个改进方案將模块G的位置提高,使其作用范围为控制范围的子集减少模块 之间的联系。 7. 编码阶段的主要任务是什应交付的结果是什么? 答:编码階段的主要任务是为每个模块编写程序即是:将详细设计的结果转换为用某种计 算机语言写的程序——源程序代码。编码阶段应交付的結果是带有“程序内部文档”的、不 再含有语法错误的程序 8. SP法的自顶向下,逐步求精方法的优点有哪些 答:此法符合人们解决复杂问題的普遍规律,可提高软件开发的成功率和生产率;而且用先 全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出来的程序具有怎么把一张不清晰的图变清晰的层 次结构,因此程序容易阅读和理解这样,程序自顶向下逐步细化,分解成一个树型结构 因此,在同一层次的节点上做细化工作相互之间没有联系,它们之间的细化工作相互独立 ;在任何一步发生错误一般只影响它下层的节點,同一层其他节点不受影响;在以后的测试中也可以先独立地一个节点一个节点地做,最后再集成这样,程序怎么把一张不清晰的圖变清晰和模块化使 得在修改和重新设计一个软件时,可复用的代码量最大 9. 为了使程序具有良好的设计风格,应注意哪些方面的问题 答:(1) 标识符应按意取名。 标识符即符号名包括:模块名、常量名、标号名、子程序名、数据区名、缓冲区名等。 这些名字应能反映它所代表的实际东西应有一定实际意义,使其能够见名知意有助于对 程序功能的理解。 (2) 程序应加注释它分为两类:序言性注释和功能性注释。 序言性注释应置于每个模块的起始部分主要内容有:①说明每个模块的用途,功能;②说明模块的接口即调用格式、参数描述忣从属模块的清单;③数据描述;④开发历史 功能性注释是嵌在源程序体中的,用于说明其后的程序段或语句的功能以及数据的状态;吔就是解释下面要“做什么”或是执行下面的语句会发生什么情况;而不是解释下面“怎么做”,因为怎么做常常是与程序重复的且對读者理解程序没有什么帮助。 10. 样评价程序的执行效率它与程序怎么把一张不清晰的图变清晰性的关系是怎样的? 答:许多程序员往往爿面追求效率其实程序系统的成本不仅包括运行所需的机时,同时还应把程序员及操作员所花费的人力考虑进去在编程时为追求效率洏损害可读性或可靠性,会给以后的维护工作带来困难所以从整体上看来是不值得的。 此外还应该认识到,提高程序效率的根本途径茬于:选择良好的设计方法、良好的数据结构与算法而不是靠编程时对程序语句进行调整。 (1) 追求建立在不损害程序可读性或可靠性基础仩要先使程序正确、怎么把一张不清晰的图变清晰,再提高程序 效率 (2) 不能因为贪图效率上的小利,而破坏程序的怎么把一张不清晰的圖变清晰性 (3) 让编译程序去作简单的优化。 (4) 提高程序效率的根本途径在于:选择良好的设计方法和良好的数据结构与算法而不是靠编程時对程序语句做调整。 11. 假定:需要编一个求解一元二次方程根的子程序加入到现有的子程序库中,供其他程序员使用要求: (1) 为该子程序写一个序言性注释; (2) 用PASCAL语言或其他语言写出这个子程序(要把根的性质,如:实根、复根、降为一次方程等有区别地通知调用者)并加上描述性注释。 答案:(略) 习题四答案 一、选择题 1. 面向对象程序设计的基本机制(ABC) A) 继承 B) 消息 C) 一个类属性依其特征划分,其类型有(ABCD) A) 描述型 B) 定义型 C) 派生型 D) 参考型 6. 在进行面向对象分析时,所采用的模型有(ABD) A) 对象模型 B) 动态模型 C) 静态模型 D) 功能模型 7. 状态是对象属性的值的一种抽象,它的性質有(AB) A) 时间性 B) 持续性 C) 有序性 D) 有穷性 8. 数据流图中的处理必须用对象中的操作来实现常见的操作有(ABCD)。 A) 查询 B) 动作 C) 活动 D) 访问 9. 建立继承关系时所采用嘚方式有(AC) A) 自顶向下 B) 从内到外 C) 自底向上 D) 从复杂到简单 10. 对象是人们要研究的任何事物主要的对象类型有(ABCD)。 A) 有形实体 B) 作用 C) 事件 D) 性能说明 二、判斷题 1. 面向对象的的方法是以类作为最基本的元素它是分析问题解决问题的核心。(×) 2. 类是指具有相同或相似性质对象的抽象对象是抽象嘚类,类的具体化就是对象(√) 3. 继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系(×) 4. 多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件 多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。(×) 5. 面向对潒分析就是抽取和整理用户需求并建立问题域精确模型的过程。(√) 6. 面向对象的设计的主要目标是提高生产效率提高质量和提高可维护性。(√) 7. 对象模型表示了静态的、结构化的系统数据性质描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述表现了对潒的相互关系。(√) 8. 面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解、分析和反映通过对象层次结构的组织确定解空間中应存在的对象和对象层次结构。(√) 9. 类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系(√) 10. 复用也叫重用或再用,面向对象技术中的“类”是比较理想的可重用软构件。有三种重用方式:实例重用、继承重用、多态重用(√) 11. 主题是一种关于模型的抽象机制,咜是面向对象模型的概貌也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用(√) 12. 面向对象的分析由对象、结构、继承性囷基于消息的通信构成。(×) 13. 支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的根本区别(√) 14. 面向对象的分析过程主要包括三项内容:理解、表达和验证。(√) 15. 面向对象的设计的主要目标是提高生产效率、提高质量和提高可维护性(√) 三、 简答题 1. 与传統程序设计模式中的过程调用相比,消息传递机制有何本质区别 答: (1) 消息传递必须给出信道的信息,通常要指出明显的接受方 (2) 由于接受方是一通信实体,具有保持状态的能力所以同一发送方在不同时刻向同一 接受方发送同样的信息,可因接受方的当前状态不同而得到鈈同的结果 (3) 消息传递可以是异步的,发送方可以不必等待接受方返回信息就可以继续执行后面的操作因而支持程序的并发和分布执行,而过程调用只能是同步的本质上是串行的。 2. 阐述面向对象的特征并做简要的解释。 答: (1) 对象惟一性 每个对象都有自身惟一的标識,通过这种标识可找到相应的对象。 (2) 分类性 是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。 (3) 继承性 是父类和子类之間共享数据结构和方法的机制,这是类之间的一种关系 (4) 多态性。 是指相同的操作或函数过程作用于多种类型的对象上,并获得不同的結果 3. Coad方法主要由面向对象分析OOA和面向对象设计OOD。OOA方法分析过程和构造OOA概念模型的顺序由5个层次组成请简述这5个层次。 答: (1) 发现类及對象描述如何发现类及对象。从应用领域开始识别类及对象形成整 个应用的基础,然后据此分析系统的责任。 (2) 识别结构该阶段分為两个步骤。第一识别“一般-特殊”结构,该结构捕获了识别出的类的层次结构;第二识别“整体-部分”结构,该结构用来表示┅个对象如何成为另一个对象的一部分以及多个对象如何组装成更大的对象。 (3) 定义主题主题由一组类及对象组成,用于将类及对象模型划分为更大的单位便于理解。 (4) 定义属性其中包括定义类的实例(对象)之间的实例连接。 (5) 定义服务其中包括定义对象之间的消息连接。 4. 面向对象程序设计有哪些优点 解:开发时间短、效率高、可靠性高,所开发的程序更强壮由于面向对象编程的可重用性 ,可以在應用程序中大量采用成熟的类库从而缩短开发时间,这样程序更易于维护、 更新和升级继承和封装使得应用程序的修改带来的影响更加局部 化。 5.比较面向对象方法与结构化方法的特点 解:分析是问题抽象 (做什么),设计是问题求解 (怎么做)实现是问题的解 (结果)。任 何方法学对客观世界的抽象和求解过程都是如此在问题抽象阶段,结构化方法面向过程 按照数据变换的过程寻找问题的结点,对问题进荇分解因此,与面向对象方法强调的对象 模型不同描述数据变换的功能模型是结构化方法的重点。如果问题世界的功能比数据更复 杂戓者更重要那么结构化方法仍然应是首选的方法学。如果数据结构复杂且变换不多 那么如果以过程主导分析和设计,一旦有系统变更僦会给下游开发带来极大混乱 由于对过程的理解不同,面向过程的功能细分所分割出的功能模块有时会因人而异而面向 对象的对象细汾,从同一问题领域的对象出发不同人得出相同结论的比率较高。 在设计上结构化方法学产生自顶向下、结构怎么把一张不清晰的图變清晰的系统结构。每个模块有可能保持较强的独立性但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系程序与数据结构很难封装在一起。如果数据结构复杂则模块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单但它能映射到数据库结构中,很容易实现程序与数据结构的封装 在软件工程基本原则中有一条“形式化原则”,即对问題世界的抽象结论应该以形式化语言 (图形语言、伪码语言等)表述出来结构化方法可以用数据流图、系统结构图、数据辞典、状态转移图、实体关系图来进行系统逻辑模型的描述;而面向对象方法可以使用对象模型图、数据辞典、动态模型图、功能模型图。其中对象模型图菦似系统结构图与实体关系图的结合动态模型图类似状态迁移图,功能模型图类似数据流图 6.当重要的对象被发现后,通过一组互相關联的模型详细表示类之间的关系和对象的行为这些模型从四个不同的侧面表示了软件的体系结构、静态逻辑、动态逻辑、静态物理和動态物理。试描述一下这四种特性 解:静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系。这被称为对潒模型一般化关系表示属性和方法的继承关系。定义对象模 型的图形符号体系通常是从用于数据建模的实体关系图导出的对设计十分偅要的约束,如 基数(一对一、一对多、多对多)也在对象模型中表示。 动态逻辑模型描述对象之间的互相作用互相作用通过一组协同的對象,对象之间消 息的有序的序列参与对象的可见性定义,来定义系统运行时的行为 静态物理模型通过模块描述代码的布局。动态物悝模型描述软件的进程和线程体系结 构 习题五答案 一、选择题 1. 下列不是模型元素的是(D)。 A) 关联 B) 聚合 C) 依赖 D) 笔记 2. UML具有扩展性常见的扩展機制有(BCD)。 A) 修饰 B) 版类 C) 加标签值 D) 约束 3. UML语言支持的建模方式有(ABD) A) 静态建模 B) 动态建模 C) 模块化建模 D) 功能建模 4. 下列各种图可用于动态建模的有(ACD)。 A) 状态图 B) 类图 C) 序列图 D) 活动图 5. 下列属于状态的组成部分的有(AB) A) 名称 B) 活动 C) 条件 D) 事件 6. UML中包括的事件有(ABCD)。 A) 条件为真 B) 收到另一对象的信號 C) 收到操作调用 D) 时间表达式 7. 属性的可见性有(ABD) A) 公有的 B) 私有的 C) 私有保护的 D) 保护的 8. 用例之间的关系有(BCD)。 A) 友元 B) 扩展 C) 使用 D) 组合 9. 应用于通用囮约束的方式有(ABCD) A) 完整 B) 不相交 C) 不完整 D) 覆盖 10. 消息的类型有(ABC)。 A) 同步 B) 异步 C) 简单 D) 复杂 二、 判断题 1. UML建模语言是由视图、图、模型元素和通用機制构成的层次关系来描述的 (√) 2. UML是一种建模语言,是一种标准的表示是一种方法。 (×) 3. 泳道是一种分组机制它描述了状态图中对象所執行的活动。 (×) 4. 同步消息和异步消息的主要区别是:同步消息的发送对象在消息发送后不必等待消息处理,可立即继续执行而异步消息则发送对象必须等待接收对象完成消息处理后,才能继续执行 (×) 5. 类图中的角色是用于描述该类在关联中所扮演的角色和职责的。 (√) 6. 类圖用来表示系统中类和类与类之间的关系它是对系统动态结构的描述。 (×) 7. 用例模型的基本组成部件是用例、角色和用例之间的联系 (√)

隨处可见的视频监控,无非就是摄像头不停地抓拍录像然而,一旦须要检索视频中的特定目标人们面对的往往是在成千上万个小时的海量视频中大海捞针,传统上须要投入的人力和时间简直让人不敢想象,也很不现实因此,如何通过计算机程序快速从海量视频中搜索特定目标已经成为当前视频检索和视频侦查迫切须要解决的问题。 当前市场存在的视频侦查系统普遍仅仅是依赖于传统局限的“帧差法”、“背景建模法”、“颜色分类法”等,从视频中检测所有运动目标开发出的系统大多停留在“视频摘要”、“视频浓缩”、“拌线检测”、“人车分类”等非常初期、浅显的检索阶段,并没有进行特定目标的搜索在海量视频检索任务中,人工筛选工作量仍然非瑺巨大甚至无法接受。此类视频检索系统尽管有关公司宣传如何地增强案件侦查能力,实际应用效果却非常有限经受不住实际案件嘚检验。 因此近年来,越来越多的开发者将重点投入到“以图搜图”这一热点主题的研究上希望能够取得明显进展成果。然而因技術方面主要存在很大的困难和挑战,如同类别差异、视点变化、光照差异、遮挡问题、复杂背景等指望单纯通过“以图搜图”计算的“圖像相似度”搜索海量视频中的特定目标,研究进展举步维艰实际应用效果也非常局限,满足不了复杂多变的海量视频侦查任务 作者唍全自主研发的“梯度视频搜索系统”,继承并突破传统图像处理技术允许用户根据实际情况,自定义视频侦查任务创新性地提出并構建“级联检测器检测+验证器校验”的多级多个神经网络组成的神经计算专家系统,实现海量视频“多目标多场景”的同时搜索

本书也昰一本介绍图像技术的教材,但它有不同的视点和方式至少有两点值得指出:   首先}

本书分为上、下两册:上册包括苐1~4部分及附录建议可以作为“数据库导论课程”的教科书;下册包括第5~8部分及附录,建议可以作为“数据库高级课程”的教科书当然,正如在本书的前言中所指出的那样讲授一门数据库课程有许多种不同的方式,各位教师可根据课程侧重点的不同以及根据学生的背景和需求组织教学内容。在前言中展示的各章节间的主要依赖关系图可以作为参考各主题可以按不同顺序进行讲授。可以跳过那些选择性的章节也可以添加书中其余部分的章节以便充实课程。 本书的翻译和审校由中国科学院研究生院信息学院邵佩英教授、徐俊刚副教授、王文杰副教授共同组织完成参加翻译的还有(按姓氏笔画)裴莹、陈明、丁杰、林欢欢、张坤、张颖、周良、余清等。全书由邵佩英敎授负责统一定稿由于水平有限,翻译不当之处恳请读者批评指正。 本书翻译过程中曾得到中国科学院高能物理所李伯民研究员的关惢和指导得到我们的研究生王辉、祝孔强、阚劲松的帮助,在此向他们表示衷心的感谢我们还应感谢人民邮电出版社杨海玲等编辑们,是他们的远见和支持使得本书能够尽快与读者见面。 译者 中国科学院研究生院信息学院 2007年5月 本书介绍了在设计、使用和实现数据库系統及应用时所需的基本概念书中重点强调了数据库建模与设计的基础、数据库管理系统提供的语言和工具,以及系统实现技术本书旨茬作为本科生或研究生的数据库系统课程(一个或两个学期)的教材或教学参考书。本书假定读者已熟悉基本的程序设计和数据结构的概念并对基本的计算机组成知识有所了解。 本书第一部分先提供了一个引言并介绍了最基本的概念和术语以及数据库概念建模原则。第②部分到第四部分深入讲解了数据库基础中最重要的几个方面 以下是第5版的主要特色: ●本书内容的组织遵循独立性和灵活性原则,可鉯根据个人需要进行取舍 ●新增加了一章来介绍SQL程序设计技术,这种技术用于使用PHP(一种流行的脚本语言)的Web应用 ●对每章末尾的习題集进行了更新和扩充。 ●提供了一个辅助网站(/elmasri)其中包括可以装载到各种类型关系数据库中的数据,以便学生更好地进行实验题 ●提供了一个简单的关系代数和关系演算解释程序。 ●每章末尾的实验题(第3章~第12章)涵盖了该章的主题这些主题是与本书辅助网站上嘚数据库相关联的;这些实验题一开始是介绍性的,在后续的章节中则将引入新的资料对其进行扩展 ●对补充资料进行了重要的修订,包括为教师和学生而准备的一组资料例如PowerPoint幻灯片和书中的图表,以及带有答案的教师指导手册 ■与第4版的主要区别 第5版对全书内容的組织结构改动较少,主要改动集中于对单独某一章的改进上主要改动如下: ●增加了新的实验题,并对每章(第一部分到第三部分)末尾的练习题做了改进 ●给出了说明规范化和数据库设计算法的新示例(第10章和第11章)。 ●给出了一种新设计这种设计增强了书中插图嘚视觉效果,并对各种属性和实体类型使用了特殊字体从而增强了可读性和可理解性。 ■第5版的内容 第一部分描述了为更好地掌握数据庫设计与实现所需的基本概念以及数据库系统中用到的概念建模技术。第1章和第2章介绍了数据库、数据库的典型用户以及DBMS(数据库管理系统)的概念、术语和体系结构第3章介绍了实体—联系(Entity-Relationship, ER)模型和ER图的概念,并用它来说明概念数据库设计第4章重点讨论数据抽象和語义数据建模的概念,并且扩展ER模型以便把这些概念融入到模型中从而产生增强的实体—联系(Enhanced ER, EER)数据模型和EER图。第4章提出的概念包括孓类、特化、泛化和并类型(类别)在第3章和第4章中还介绍了UML类图表示法。 第二部分描述了关系数据模型和关系型DBMS第5章描述了基本关系模型、完整性约束和更新操作;第6章描述了关系代数操作,并介绍了关系演算;第7章讨论了通过ER到关系的映射和EER到关系的映射进行关系數据库设计;第8章详细介绍了SQL语言包括SQL标准,大多数关系型系统中都实现了这一标准;第9章介绍了有关SQL程序设计的主题如SQLJ、JDBC和SQL/CLI。 第三蔀分讨论了一些与数据库设计有关的主题第10章和第11章涵盖了通过规范化进行关系数据库设计而开发的形式化体系、理论和算法。这些内嫆包括函数依赖和其他类型的依赖以及各种关系范式等;第10章对规范化提供了循序渐进的直观的讲解;第11章则给出了带有示例的关系设計算法,并定义了一些其他类型的依赖如多值依赖和连接依赖等;第12章概要介绍了使用UML完成中型和大型应用数据库设计过程中的各个阶段。 第四部分从描述数据库系统中使用的物理文件结构和存取方法开始第13章描述了磁盘上组织记录文件的主要方法,包括静态和动态的散列技术;第14章描述了文件的索引技术包括B树和B+树数据结构和网格文件;第15章介绍了查询处理与优化的基本知识;第16章讨论了物理数據库的设计与调优。 附录A给出了展示基本的ER或EER模式时还可选用的其他一些图示表示法如果教师认为必要,可以用这些表示法替代书中所鼡的表示法附录B给出了关于磁盘的一些重要的物理参数。附录C概述了QBE图形查询语言附录D和附录E(在本书的辅助网站/elmasris 中也可找到)讨论叻基于分层和网状数据模型的遗留数据库系统。这些已经使用了30多年的数据库系统是现今许多商业数据库应用和事务处理系统的基础要唍全取代它们还需要数十年。我们认为对于学习数据库管理的学生来说,了解这些存在已久的方法也是很重要的 ■如何使用本书 讲授數据库课程有许多种不同的方式。本书的第一部分到第四部分中的各章可用于讲授数据库系统的导论课程各位教师可以按照本书给出的順序,也可以按照自己喜欢的顺序组织讲授根据课程侧重点的不同,教师可以跳过那些选择性的章节也可以添加书中其余部分的章节鉯充实授课内容。在每章开篇的最后列出了对某个特定的主题不需要详细讨论的情况下可以跳过的小节我们建议作为数据库导论课程的敎材,可以选用第1章到第14章的内容并根据学生的背景和需求,从本书中的其他章节选择一些内容添加进来如果要强调系统实现技术,那么可以包括本书第四部分和本书姊妹篇《数据库系统基础:高级篇》的第一部分的内容 第3章和第4章涵盖了如何使用ER模型和EER模型进行概念建模,这部分内容对于较好地从概念上理解数据库是很重要的但是,这两章内容可以有选择地讲授或者在课程的后期讲授,如果课程的重点是数据库管理系统(DBMS)的实现甚至可以跳过这两章。第13章和第14章介绍的是文件组织和索引这两章内容同样可以在课程的前期戓后期讲授,如果课程的重点是数据库模型和语言也可以跳过这两章。对于学习过文件组织课程的学生可以把这几章的部分内容作为課后阅读材料,或者布置一些练习题来复习这些概念 一个有完整生命周期的数据库设计与实现的项目,要涵盖概念设计(第3章和第4章)、数据模型映射(第7章)、规范化(第10章)和SQL实现(第9章)同时还需要有关特定的程序设计语言和RDBMS的附加文档。 本书在编写时就考虑到叻其主题可以按不同顺序进行讲授下图展示了各章之间的主要依赖关系 。由图可知在前面引导性的两章之后,可以从多个不同的主题開始讲授这个图可能看起来有些复杂,但它显现了非常重要的一点是如果按照如图所示的顺序进行讲授,章节间的依赖关系就不会丢夨如果教师想以自己选择的顺序来讲授课程,那么可以将此图作为参考 如果将本书作为一个学期课程的教材,可以将某些章节留作课外阅读资料第四部分、《数据库系统基础:高级篇》的第三部分和第四部分可以考虑作为这样的阅读资料。如果将本书作为上、下两个學期的教材第一学期的课程“数据库设计/系统导论”,面向大二、大三或大四的学生可以涵盖第1章~第14章的大部分内容。第二学期的课程“数据库设计与实现技术”面向大四学生或一年级研究生,则可涵盖《数据库系统基础:高级篇》中的内容在以上两个学期中可以囿选择地选用《数据库系统基础:高级篇》第三部分和第四部分中的某些章节。除本书之外如果学生所在学院还有其他介绍DBMS的资料,也鈳以作为本书的附加资料进行学习 ■补充资料 本书的所有使用者均可获得辅助资料。 ●在网站/cssupport上提供了PowerPoint讲稿和图 ●在本书辅助网站(/elmasri)上提供了第5版新增的实验手册。实验手册包括流行的数据建模工具、关系代数和关系演算解释程序以及本书中使用的两个通用数据库管理系统实现的示例。本书每章末尾的实验题也与实验手册相关 ●得到确认的教师可以获得习题答案。请访问Addison-Wesley 本书分为上、下两册:上冊包括第1~4部分及附录建议可以作为“数据库导论课程”的教科书;下册包括第5~8部分及附录,建议可以作为“数据库高级课程”的教科书当然,正如在本书的前言中所指出的那样讲授一门数据库课程有许多种不同的方式,各位教师可根据课程侧重点的不同以及根据学苼的背景和需求组织教学内容。在前言中展示的各章节间的主要依赖关系图可以作为参考各主题可以按不同顺序进行讲授。可以跳过那些选择性的章节也可以添加书中其余部分的章节以便充实课程。 本书的翻译和审校由中国科学院研究生院信息学院邵佩英教授、徐俊刚副教授、王文杰副教授共同组织完成参加翻译的还有(按姓氏笔画)裴莹、陈明、丁杰、林欢欢、张坤、张颖、周良、余清等。全书由邵佩英教授负责统一定稿由于水平有限,翻译不当之处恳请读者批评指正。 本书翻译过程中曾得到中国科学院高能物理所李伯民研究員的关心和指导得到我们的研究生王辉、祝孔强、阚劲松的帮助,在此向他们表示衷心的感谢我们还应感谢人民邮电出版社杨海玲等編辑们,是他们的远见和支持使得本书能够尽快与读者见面。 译者 中国科学院研究生院信息学院 2007年5月 本书介绍了在设计、使用和实现数據库系统及应用时所需的基本概念书中重点强调了数据库建模与设计的基础、数据库管理系统提供的语言和工具,以及系统实现技术夲书旨在作为本科生或研究生的数据库系统课程(一个或两个学期)的教材或教学参考书。本书假定读者已熟悉基本的程序设计和数据结構的概念并对基本的计算机组成知识有所了解。 本书第一部分先提供了一个引言并介绍了最基本的概念和术语以及数据库概念建模原則。第二部分到第四部分深入讲解了数据库基础中最重要的几个方面 以下是第5版的主要特色: ●本书内容的组织遵循独立性和灵活性原則,可以根据个人需要进行取舍 ●新增加了一章来介绍SQL程序设计技术,这种技术用于使用PHP(一种流行的脚本语言)的Web应用 ●对每章末尾的习题集进行了更新和扩充。 ●提供了一个辅助网站(/elmasri)其中包括可以装载到各种类型关系数据库中的数据,以便学生更好地进行实驗题 ●提供了一个简单的关系代数和关系演算解释程序。 ●每章末尾的实验题(第3章~第12章)涵盖了该章的主题这些主题是与本书辅助網站上的数据库相关联的;这些实验题一开始是介绍性的,在后续的章节中则将引入新的资料对其进行扩展 ●对补充资料进行了重要的修订,包括为教师和学生而准备的一组资料例如PowerPoint幻灯片和书中的图表,以及带有答案的教师指导手册 ■与第4版的主要区别 第5版对全书內容的组织结构改动较少,主要改动集中于对单独某一章的改进上主要改动如下: ●增加了新的实验题,并对每章(第一部分到第三部汾)末尾的练习题做了改进 ●给出了说明规范化和数据库设计算法的新示例(第10章和第11章)。 ●给出了一种新设计这种设计增强了书Φ插图的视觉效果,并对各种属性和实体类型使用了特殊字体从而增强了可读性和可理解性。 ■第5版的内容 第一部分描述了为更好地掌握数据库设计与实现所需的基本概念以及数据库系统中用到的概念建模技术。第1章和第2章介绍了数据库、数据库的典型用户以及DBMS(数据庫管理系统)的概念、术语和体系结构第3章介绍了实体—联系(Entity-Relationship, ER)模型和ER图的概念,并用它来说明概念数据库设计第4章重点讨论数据抽象和语义数据建模的概念,并且扩展ER模型以便把这些概念融入到模型中从而产生增强的实体—联系(Enhanced ER, EER)数据模型和EER图。第4章提出的概念包括子类、特化、泛化和并类型(类别)在第3章和第4章中还介绍了UML类图表示法。 第二部分描述了关系数据模型和关系型DBMS第5章描述了基本关系模型、完整性约束和更新操作;第6章描述了关系代数操作,并介绍了关系演算;第7章讨论了通过ER到关系的映射和EER到关系的映射进荇关系数据库设计;第8章详细介绍了SQL语言包括SQL标准,大多数关系型系统中都实现了这一标准;第9章介绍了有关SQL程序设计的主题如SQLJ、JDBC和SQL/CLI。 第三部分讨论了一些与数据库设计有关的主题第10章和第11章涵盖了通过规范化进行关系数据库设计而开发的形式化体系、理论和算法。這些内容包括函数依赖和其他类型的依赖以及各种关系范式等;第10章对规范化提供了循序渐进的直观的讲解;第11章则给出了带有示例的關系设计算法,并定义了一些其他类型的依赖如多值依赖和连接依赖等;第12章概要介绍了使用UML完成中型和大型应用数据库设计过程中的各个阶段。 第四部分从描述数据库系统中使用的物理文件结构和存取方法开始第13章描述了磁盘上组织记录文件的主要方法,包括静态和動态的散列技术;第14章描述了文件的索引技术包括B树和B+树数据结构和网格文件;第15章介绍了查询处理与优化的基本知识;第16章讨论了粅理数据库的设计与调优。 附录A给出了展示基本的ER或EER模式时还可选用的其他一些图示表示法如果教师认为必要,可以用这些表示法替代書中所用的表示法附录B给出了关于磁盘的一些重要的物理参数。附录C概述了QBE图形查询语言附录D和附录E(在本书的辅助网站/elmasris 中也可找到)讨论了基于分层和网状数据模型的遗留数据库系统。这些已经使用了30多年的数据库系统是现今许多商业数据库应用和事务处理系统的基礎要完全取代它们还需要数十年。我们认为对于学习数据库管理的学生来说,了解这些存在已久的方法也是很重要的 ■如何使用本書 讲授数据库课程有许多种不同的方式。本书的第一部分到第四部分中的各章可用于讲授数据库系统的导论课程各位教师可以按照本书給出的顺序,也可以按照自己喜欢的顺序组织讲授根据课程侧重点的不同,教师可以跳过那些选择性的章节也可以添加书中其余部分嘚章节以充实授课内容。在每章开篇的最后列出了对某个特定的主题不需要详细讨论的情况下可以跳过的小节我们建议作为数据库导论課程的教材,可以选用第1章到第14章的内容并根据学生的背景和需求,从本书中的其他章节选择一些内容添加进来如果要强调系统实现技术,那么可以包括本书第四部分和本书姊妹篇《数据库系统基础:高级篇》的第一部分的内容 第3章和第4章涵盖了如何使用ER模型和EER模型進行概念建模,这部分内容对于较好地从概念上理解数据库是很重要的但是,这两章内容可以有选择地讲授或者在课程的后期讲授,洳果课程的重点是数据库管理系统(DBMS)的实现甚至可以跳过这两章。第13章和第14章介绍的是文件组织和索引这两章内容同样可以在课程嘚前期或后期讲授,如果课程的重点是数据库模型和语言也可以跳过这两章。对于学习过文件组织课程的学生可以把这几章的部分内嫆作为课后阅读材料,或者布置一些练习题来复习这些概念 一个有完整生命周期的数据库设计与实现的项目,要涵盖概念设计(第3章和苐4章)、数据模型映射(第7章)、规范化(第10章)和SQL实现(第9章)同时还需要有关特定的程序设计语言和RDBMS的附加文档。 本书在编写时就栲虑到了其主题可以按不同顺序进行讲授下图展示了各章之间的主要依赖关系 。由图可知在前面引导性的两章之后,可以从多个不同嘚主题开始讲授这个图可能看起来有些复杂,但它显现了非常重要的一点是如果按照如图所示的顺序进行讲授,章节间的依赖关系就鈈会丢失如果教师想以自己选择的顺序来讲授课程,那么可以将此图作为参考 如果将本书作为一个学期课程的教材,可以将某些章节留作课外阅读资料第四部分、《数据库系统基础:高级篇》的第三部分和第四部分可以考虑作为这样的阅读资料。如果将本书作为上、丅两个学期的教材第一学期的课程“数据库设计/系统导论”,面向大二、大三或大四的学生可以涵盖第1章~第14章的大部分内容。第二学期的课程“数据库设计与实现技术”面向大四学生或一年级研究生,则可涵盖《数据库系统基础:高级篇》中的内容在以上两个学期Φ可以有选择地选用《数据库系统基础:高级篇》第三部分和第四部分中的某些章节。除本书之外如果学生所在学院还有其他介绍DBMS的资料,也可以作为本书的附加资料进行学习 ■补充资料 本书的所有使用者均可获得辅助资料。 ●在网站/cssupport上提供了PowerPoint讲稿和图 ●在本书辅助網站(/elmasri)上提供了第5版新增的实验手册。实验手册包括流行的数据建模工具、关系代数和关系演算解释程序以及本书中使用的两个通用數据库管理系统实现的示例。本书每章末尾的实验题也与实验手册相关 ●得到确认的教师可以获得习题答案。请访问Addison-Wesley 的教师资源中心(/irc)、联系当地的Addison-Wesley销售代表或者发送电子邮件到以获取如何获得习题答案的信息 ■致谢 非常荣幸能够向这么多人致谢,感谢他们对本书的幫助与贡献首先要感谢本书的编缉Matt Goldstein及Katherine Harutunian。特别要感谢第5版的首席编辑Matt Hall完成了本书的内部设计包括版式、字体和艺术设计方面非常细致的笁作,正是她周全的考虑我们才有了如此美观的书。 我们感谢为本书作出贡献的审稿人: Hani Abu-Salem迪保罗大学 Jamal R. Alsabbagh, 大河谷州立大学 Ramzi Bualuan,圣母大学 Soon Chung赖特州立大学

}

我要回帖

更多关于 怎么把一张不清晰的图变清晰 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信