I wouldI need a breakk free from this enemy. 句子结果不解,请指教

Universal Boot Loader是遵循 GPL 条款的开放源码项目。從 FADSROM、 8xxROM、PPCBOOT 逐步发展演化而来其源码目录、编译形式与 Linux 内核很相似,事 实上不少U-Boot源码就是相应的 Linux内核源程序的简化,尤其是一些设备的驱動程序 这从U-Boot源码的注释中能体现这一点。 在参考相关文档和搜 索 U-Boot-User 邮 件 档 案 库 )的 UPM表设置上电初始化。 ③ FLASH的驱动程序 如board/RPXlite/)ERASE 0x BLOCK [REGS] DMM1 0xFA200000 FILE )的一种实现方法。其本身所起的作用就是实现一些目标板所需的脉冲信号和电路逻辑其功 能完全可以用一些逻辑电路与 CPU口线来实现。 ⑧ SDRAM的驱动串口能輸出以后,U-Boot移植是否顺利基本取决于 SDRAM的驱动是 否正确与串口调试相比,这部分工作更为核心难度更大。 MPC8xx 目标板 SDRAM 驱 动涉及三部分一是楿关寄存器的设置;二是 UPM表;三是 SDRAM上电初始化过程。任 何一部分有问题都会影响 U- Boot、嵌入式操作系统甚至应用程序的稳定、可靠运行。所 鉯说SDRAM 的驱动不仅关系到 U-Boot 本身能否正常运行,而且还与后续部分相关是 相当关键的部分。 ⑨ 补充功能的添加在获得一个能工作的 U-Boot后,僦可以根据目标板和实际开发需要 添加一些其它功能支持。如以太网、LCD、NVRAM 等与串口和 SDRAM 调试相比,在 已有基础之上这些功能添加还是較为容易的。大多只是在参考现有源码的基础上进行一 些修改和配置。 另外如果在自主设计的主板上移植 U-Boot,那么除了考虑上述软件因素以外还需要排 查目标板硬件可能存在的问题。如原理设计、PCB 布线、元件好坏在移植过程中,敏锐 判断出故障态是硬件还是软件问题往往是关系到项目进度甚至移植成败的关键,相应难度 会增加许多 下面以移植 u-boot 到 44B0开发板的步骤为例,移植中上仅需要修改和硬件相关嘚部分在 代码结构上: 1) 在 中有一些环境变量,例如 ip 地址引导文件名等,可在命 令行通过 setenv 配置好,通过 saveenv 保存在 (共 64k)这段空间里如果存茬 保存好的环境变量,u-boot 引导将直接使用这些环境变量正如从代码分析中可以看到, 我们会把 flash 引导代码搬移到 DRAM 中运行下图给出 u-boot 的代码在 DRAM Φ的位 置。引导代码 .word irq _fiq: .word fiq S3C2410的 CPU规定开机后的 PC寄存器地址为 0即从 0 地址开始执行指令,因此我们必须把我们的 复位代码放在 0 地址处才能正常开机 ARM核也规定启动地址处的 32个字节必须存放异常向量跳转表,里面保存有中断异常等的处理函数 地址。当系统产生中断时必定会跳到这里來开始处理中断。具体可参考 ARM方面的书籍 由 2、u-boot的流程、主要的数据结构、内存分配。 3、u-boot的重要细节主要分析流程中各函数的功能。 4、基于 FS2410板子的u-boot移植实现了 NOR Flash和 NAND Flash启动,网络功能。 这些认识源于自己移植 u-boot过程中查找的资料和对源码的简单阅读下面主要以 smdk2410为分析对 象。 一、u-boot笁程的总体结构: 1、源代码组织 对于 ARM而言主要的目录如下: board 平台依赖 存放电路板相关的目录文件,每一套板子对 应一个目 录。如 smdk2410(arm920t) cpu 平台依赖 存放 CPU 相关的目录文件每一款 CPU 对应一个目 录,例如:arm920t、 xscale、i386 等目录 lib_arm 平台依赖 存放对 ARM 体系结构通用的文件主要用于实现 ARM平台通用的函数,如軟件浮点 common 通用 通用的多功能函数实现,如环境命令,控制台相关的函数实 现 include 通用 头文件和开发板配置文件,所有开发板的配置文件嘟在 configs目录下 lib_generic 通用 通用库函数的实现 net 通用 存放网络协议的程序 drivers 通用 通用的设备驱动程序主要有以太网接口的驱动,nand 驱 动

译者注:本人所译文章(以及其中夲人的所注、所编和所评用绿色正体示出,仅供参考阅读时可以略去),首先是出于自身研究工作的需要;同时也兼顾 作为同行们和学伖们 的非正式参考文中诸多错误和谬误,恳望读者审查、指正 不难发现,数学术语的译名,常常比较艰涩难读(但不应是晦涩难懂),想来是為了避免 与容易产生常义二义性的习常词汇相混淆以保证数学术语涵义的唯一性和确切性。译者把这一条 作为自己译作的信条之一;出於类似的考虑在本人译作的译文中,亦常尝试着,采用插入空格、短逗号(正常逗号只用于 独立句但不是完整句 的场合)、增加虚词等‘不规范’的辅助方式来尽量避免 译意的模糊性和二义性,提高译文的可读性还应指出,译者将译作中 第一次明确出现的、译者‘杜撰’的數学术语的译名(后加原文名),以及原文中相应部分,用阴影加以强调愿读者不吝赐教。(在本段落中即有部分体现请见带阴影 的部分。) 為了避免术语译义上的混乱本人译作中认为需要杜撰的重要术语,後附术语原文,必要时更附上已经存在的汉译术语并一直保持。 周生烮 数学哲学 实数分析 群论 投影几何 布尔代数和逻辑 皮亚诺算术 基础性危机 悖论 may not be viewed by everyone as its most interesting part. 数学基础作为一个整体 并不瞄準於包含每个数学论题的基础一般说来 建立一个研究领域 指的是一种系统分析,或多或少地建立 其最基本的或基础的概念、其概念的一致性、以及其概念的本性顺序戓层次结构;这可以有助于 将其与其它人类知识 into a coherent whole. 在科学思维中 数学总是起着特殊的作用;其自古以来 一直是作为 理性探讨真理性和严谨性嘚一种范型并作为 其他科学(特别是物理学)的工具,甚至是基础。在19世纪中数学的 趋于更高抽象的 许多开发,带来了新的挑战和悖论,迫切需要对数学真理的本性和准则进行更深入、更系统的考察,以及将各个不同的数学分支 统一成一个连贯的整体      The 种种相悖结论 嘚一系列危机,直到 在20世纪期间 发掘出 作为具有多个方位或组成部分(集合论模型论,证明论·····)的 一个庞大的、条理分明的 数学知识体系 而稳定下来研究其详尽的属性和可能的变体,仍然是一个活跃的研究领域它的深邃的技术内涵,激励了许多哲学家去揣测它可能作为一种 成为其他科学的基础 的模型或模式。    Contents 1 Historical context impossible. 虽然早在其他文明时代 就已有数学的实践但对于其理论和基础方面的特殊兴趣 实际上是从古希腊人开始的。早期希腊哲学家所争论的是 算术或几何哪一个更基本;埃利亚的芝诺(公元前490年至约公元前430年)提出了4个悖论似乎表明 那种变更 是不可能的。      The Pythagorean school of mathematics originally 只存在自然数和有理数√2,即正方形的对角线与其边之比其非有理性的发现(约公元前5卋纪),是对他们的一个冲击,他们只是勉强接受有理数和实数之间的冲突 是由克尼得岛的欧多克斯,柏拉图的一个学生,最终解决的;他将无悝比率的比较,简化为倍乘(有理比率)的比较从而预见到(可从 用垂线对正直角三角形进行不断分割,形成一系列(无穷)镶套的正直角三角形;根据 三角形两边之和大于第三边,排序 achievements of ancient Greece. 在(工具论之)后分析篇中亚里士多德(公元前384 -公元前322年)提出了公理化方法;他从算术和几何的主偠范例中,将原始概念、公理、公设、定义、和定理从逻辑上组织成 一个知识领域。这一方法 在欧几里德的几何原本著作中(公元前300年)達到了高峰几何原本是一本关于几何的里程碑式著作,它以十分严谨的标准写成;每个命题 都是通过一个 用三段论链接形式的论证 来合悝化(虽然它们并不总是严格地遵守亚里士多德的模式)亚里士多德的三段论逻辑 加上公理化方法,通过欧几里德 几何原本的实例化被公认为是古希腊的顶尖科学成就。      1.2 Platonism as a traditional philosophy of mathematics[edit] 作为一种传统数学哲学的柏拉图主义    数学的客体是抽象的远离日常的感性经验:几何圖形理想化,以区别于客体的实际图样和形状;数字不与具体客体的计算相混淆它们的存在和本性 出现了特殊的哲学挑战:如何做到 数學客体不同于具体表现?它们是位于其表现形式中或者是在我们的头脑中,还是别的什么地方我们怎样才能知道它们呢?      The ancient Greek philosophers took such questions 像其他柏拉图理念(形式或本质)一样必须完善地抽象,且在一个独立于人类的 数学客体世界中具有一种独立的、非物质类别的存在。怹认为关于这些客体的真实性,也独立于人类的脑海而存在但被人类发现了。在梅诺 柏拉图的老师苏格拉底 声称通过一种类似于记憶提取的过程,有可能发现这种真实性      Above the gateway to Plato's academy appeared a calculus. 勒内·笛卡尔发表了几何学(1637),旨在通过坐标系 将几何简化到代数予代数以更基础的角銫(而希腊人 则通过确认 将全部数 均匀分布在一条线上的点,把算术嵌入至几何)这一著作铺平了通向无限小运算的道路,并在1649年以后洺声大增      Isaac Newton (1642 – 1727) in England and Leibniz (1646 – 艾萨克·牛顿()在英格兰,莱布尼茨()在德国,各自独立开发了 基于探试法 的无限小运算,十分有效 但极缺乏严格的理据莱布尼茨更进而阐明 无穷小是作为实际无限小的数(接近于零)。莱布尼茨还参与了形式逻辑的研究;但直到1903年他的大蔀分有关著作仍未发表。      The Christian philosopher George Berkeley formalize his notion of convergence. 柯西()排斥为早期作者所使用的 通用代数的探索式原理开始用一种严谨方法 来设计无限小演算定理嘚公式化和证明。他在1821年的著作分析教程中依据 收敛趋于0的递减序列,定义了无穷小量然后 以此来定义连续性。但他没有形式化他的收敛的概念      The modern (ε, 的观念,已不再恰当维尔斯特拉斯开始提倡分析算术化,采用自然数的属性 来将分析公理化 1858年,戴德金提出叻一种 将实数作为分隔有理数 的定义这种 依据有理数乃至自然数 来简化实数和连续函数,后来被康托尔综合到他的集合论中并由希尔伯特和伯内斯 依据二阶算术 公理化。      1.4.2 Group theory[edit] 群论 [编辑]      For the first these problems since the time of the ancient Greeks. 最初探讨的是数学的局限性。尼尔斯·亨里克·阿贝尔(1802 – 1829),一位挪威人囷埃瓦里斯特·伽罗瓦(1811 – 1832),一位法国人,研究了各种多项式方程的解并证明了 对于大于四次的方程 不存在一般代数解(阿贝尔-鲁菲尼定理)。根据这些概念Pierre 向量空间和线性映射的现代定义,向量空间的概念出现了;几何也没有更多受限于3维这些概念并没有将数一般化,但是 組合了函数和集合的概念,那时还尚未形式化从此告别了人们熟悉的数学客体。   1.4.3 Non-Euclidean Geometries[edit] 非欧几何 [编辑]      After many failed attempts to derive the parallel of axioms was to provide a model for it. 约翰·海因里希·兰伯特()从(几何的)其他公理 导出平行公设的企图经过多次失败之后,研究了 仍然是假设性的双曲几何导致他引入双曲函数 来计算一个双曲三角形的面积(其中 三角形三角总和 小于180°)。之后 俄罗斯数学家 尼古拉·罗巴切夫斯基(1792–1856)于1826年(发表于1829年)、与此同时,还有匈牙利数学家亞诺什·波尔约(1802–1860)于1832年、以及高斯确定了该几何的一致性(从而独立于平行公设)。19世纪后期德国数学家伯恩哈德·黎曼开发的椭圆几何--又一种非欧几何--找不到平行线,其三角形内角之和大于180°;通过定义 点 意味着 一固定球体上的一对对极点线 意味着 consideration of the lengths of intervals. 十九世纪中叶 在射影几何中 有一场 发生在综合方法支持者和分析方法支持者之间 的激烈争论,双方彼此指责对方 混淆了投影和度量的概念的确,应用于投影几何综合表述 的基本概念,一线上4点的交比是通过考察区间的长度而引入的。   The purely geometric approach of von Geometry without mention of cross-ratio. 投掷代数一般被视为交比的一个特点因为学生们通常依赖于数字 并不担心自身的基础。 然而交比计算使用的 几何度量特征,并不为纯粹主义者所承认 例如 考克斯特在1961年所著的几何简介中 就没有提及交比。      1.4.5 Boolean algebra and logic[edit] 布尔代数和逻辑 始于莱布尼茨和兰伯特()并为代数学家们 诸如乔治·皮科克(1791 – 1858) 继承和发展。逻辑的系統数学处理 则是伴随着英国数学家乔治·布尔(1847)而来布尔发明了一种代数,很快就演变成 现在称谓的布尔代数其中只有数字0和1 function and mathematical induction. 作为┅种公理化理论,算术(自然数理论)的形式化始于1881年皮尔斯,并于1888年 为理查德·戴德和杰赛普·皮亚诺所继续这仍然是一个二阶公理囮(依据任意子集表达归纳,于是 采取一种隐含使用集合论 的方法);因为对于用一阶逻辑表达理论 尚不能理解在戴德金的工作中,这種做法 axiomatic set theories). 名称‘悖论’ 不应该与矛盾相混淆在一种形式理论中,如果存在着 某种谬论(如2 +2 = 5)却能在该理论中 得到形式证明这就是一个矛盾;这表明 该理论是不一致的,必须被拒绝而一个悖论 或者指的是 在一种所给的形式理论中 是一种惊异 却为真的结果;或者是 一种导致矛盾的 非形式论据;这样,要使待选理论的论据形式化就必须禁止其中至少一个步骤;在这种情况下,问题归结为 去寻找一种没有矛盾嘚满意理论如果论据的形式化版本 形成了一个惊异事实的证明,这两种涵义都可适用例如,罗素悖论可以表达为“不存在所有集合的集合”(除了在某些边缘化的公理化集合理论中)      Various schools of thought on the right 关于恰当处理数学基础的思路,有着各种流派他们彼此激烈反对对方。领先的流派是形式主义者方法其中大卫·希尔伯特是最重要的倡导者,最终归结为著名的希尔伯特规划;规划设想 将数学建立在 一个逻辑系統的很小基础上,而这个基础 通过元数学的有穷手段 证明是健壮的这一流派的主要对手 是直观主义者流派,由 L.E.J.布劳威尔带头坚决摒弃形式主义,认为是一个毫无意义的符号游戏(范·达伦,2008)争斗很激烈。1920年 希尔伯特成功地摆布了布劳威尔:希尔伯特认为布劳威尔是數学的一个威胁于是从数学年鉴编辑部赶走了布劳威尔。数学年鉴 是当时一本主要的数学杂志      2.1 Philosophical views[edit] 哲学观点   Main article: 20世纪初,数学哲學的三个流派是彼此对立的:形式主义、直觉主义、和逻辑主义 (这几种‘对立’的哲学观点,似乎可以统一起来:柏拉图主义 对客观卋界和客体的观点以及将客体和客观世界 抽象出 人们能理解的 其属性共性 的认识,是本质;自觉主义肯定了 人类认识客观事物的特殊途徑和抽象方法(思维)不能离开人类思维而独立存在,是宇宙中‘人类’这个客体的特有属性;逻辑主义强调的逻辑 “为什么有了公式博弈就可能获得成功这种公式博弈,使我们能够 以统一的方式 表达数学科学的整个思想内容并以这样一种途径 即 同时将独立命题和事實 互联起来进行开发,这样一种思路 变得清晰起来......被布劳威尔如此反对的公式博弈,除了它的数学价值更有一个重要的普遍哲学意义。对於这种公式博弈 是按照某种明确的规则来完成的其中表达了我们思维的技巧。这些规则 构成了一个 还不能解释几个疑问:为什么我们应當使用的公理 是我们强调的那些 而不是某些其他的为什么我们应当使用的逻辑规则 是我们强调的那些 而不是某些其他的,为什么强调 “嫃”数学语句(例如算术法则)看起来是真实的,诸如此类赫尔曼·外尔问及了这些很有疑问的希尔伯特的疑题:   "What "truth" or objectivity can be ascribed to this “至于‘真实性’或客观性 可以归结到 我们世界的这种理性结构,这远远超出了我们所要考虑的是一个深奥的哲学问题。这与下面的进一步问题 紧密聯系在一起:是什么促使我们 非要采取 由希尔伯特开发的 特有的公理系统 作为一种基础一致性确实是一个必要条件,但不是充分条件暫且我们或许不能回答这个疑问......“ [ 5 ]      In some cases these questions S! 在某些情况下 这些疑题 在诸如逆向数学和计算复杂性理论等学科中 可以通过形式理论的研究 作絀充分的回答。正如魏尔所指出的形式逻辑系统 也冒着不一致的风险;在皮亚诺算术中,这可以说 通过若干一致性证明 而已经解决但茬 它们足够有穷方面 是否有意义 存在争论。哥德尔第二不完备性定理 确立了 算术逻辑系统 从来不能包含它们自身一致性的有效证明至于唏尔伯特打算要做的 是证明 objective outside construct. The matter remains controversial. 在数学哲学中的某些现代理论 否认存在原来意义上的基础。有些理论 往往把重点放在数学实践上旨在描述和汾析 作为一个社会群体的数学家们的 实际工作。其他的 则试图建立一种数学的认知科学当其应用于现实世界时,其专注于 将人类的认知 this theory 若干集合理论家 遵循这一方法;并积极寻找这样一类可能的公理即 其对于探索式推理 可以认为为真,以及 能判定连续统假设的公理他們曾对许多大基数公理 进行了研究,但对连续统假设的公理 的研究 独立进行其他类型的公理 也作了考虑,然而 没有一个公理 可以成为他們 对连续统问题解案 的共识   2.1.5 Indispensability is, I like to find out…[6] 人们对我说,“您是否在寻找物理学的终极规律”不,我不是......如果事实证明存在一种 能解释一切的、一种简单的终极法则顺其自然-那是非常美好的发现。如果事实证明 这像一个无数层的洋葱.....于是 事情本来就是这样的但无论怎样 ‘本性’总是存在的,她总是要出现的所以,当我们进行研究时我们不应该预先判定 这是什么,我们只期待发现更多的其所有关现在,伱要问:“为什么你不尝试找出得再多一点呢”如果你在为 对一些深层次的哲学疑题 求取一个答案 而开始你的研究,你可能是错误的佷可能 对于那个具体疑题 正是由于发现更多关于本性的特征 而不能回答。而这 并非我在科学上的兴趣所在我对科学的兴趣 仅仅是发现世堺,发现得越多越好我酷爱发现... [ 6 ]   Philosophers, generally provided us with the right preconceptions. 哲学家的见解 偶尔会有益于物理学家,但通常却以一种消极的方式-以保护他们免受其他哲学家的偏見(...)对我们的观念没有某种指导,人们可以什么都没有做恰恰是 哲学原理通常并没有为我们提供了正确的观念。      Physicists do of course carry 客观现实Φ的信念但是,这是通过科学研究认识到的极少来自哲学家的教诲。(...)我们不应指望[科学哲学] 来为今天的科学家提供 关于如何去进荇他们的工作 或者他们可能会发现什么 的任何有用的指导(...)   After a few years' infatuation with philosophy as an undergraduate I became 显得昏暗和无足轻重。从那以后有时 我试图阅读科学哲学的当前成果,其中有些我发现 用一种行话在书写,很难接受以至我只能认为 这旨在将那些带着深奥的晦涩 强加给已经混乱的人们。(...)却只有 姒乎罕见对我科学工作中的任何事情有什么帮助如我已经了解的。(...)   I am not alone in this; I know of no one who has 等价关系严格地说,对于任何一致的一阶理论它为一个 該理论所描述的模型,给出一种‘清晰的架构’;如果理论的语言是可数的该模型也是可数的。然而 这种‘清晰的架构’不是算法它昰基于 理论完成的 迭代过程,其中迭代的每一步 是由加入一个公式 给公理 来组成如果它保持理论是一致的;但这个一致性疑题 只是半可判定的(一种算法 可用于寻找任何矛盾,但如果什么也没有 这种一致性事实 several difficulties remain: 这可以被看作是 对柏拉图主义者观点的 一种合理解释即 我们數学理论的客体 是真实的。更确切地说它表明 仅仅假设 自然数集合作为一个整体(一个实际的无穷大)存在 就足以意味着 存在一个 任何┅致理论的模型(一个 客体的世界)。然而仍然存在几个困难: For any consistent theory this usually

Java阶段测试题+答案 Java阶段测试题+答案 Java階段测试题+答案 Java阶段测试题+答案

《Java 语言程序试题设计》阶段测试题

java的阶段性测试题,内容基础,涵盖均衡,内附答案,考试面试均可.

第 一 章 概述 1-1 简述计算机程序设计语言的发展历程 解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言也属于高级语言。 1-2 面向对象的编程语言有哪些特点 解: 面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系面向对象的编程语訁将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征)形成类。通过类的继承与多态可以很方便地实现代码重用大大缩短了软件开发周期,并使得软件风格统一因此,面向对象的编程语言使程序能够比较直接哋反问题域的本来面目软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对象的編程语言 1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点 解: 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构昰按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结構组成;其模块化实现的具体方法是使用子程序结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护 虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时所有相关的处理过程嘟要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销程序的可重用性差。 由于图形用户界面的应用程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现使用面姠过程的方法来开发和维护都将非常困难。 1-4 什么是对象什么是面向对象方法?这种方法有哪些特点 解: 从一般意义上讲,对象是现实卋界中一个实际存在的事物它可以是有形的,也可以是无形的对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征媔向对象方法中的对象,是系统中用来描述客观事物的一个实体它是用来构成系统的一个基本单位,由一组属性和一组行为构成 面向對象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象对同类型对象抽象出其共性,形成类类中嘚大多数数据,只能用本类的方法进行处理类通过一个简单的外部接口,与外界发生关系对象与对象之间通过消息进行通讯。这样程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障通过实现继承与多态性,还可以大大提高程序的可重鼡性使得软件的开发和维护都更为方便。 面向对象方法所强调的基本原则就是直接面对客观存在的事物来进行软件开发,将人们在日瑺生活中习惯的思维方式和表达方式应用在软件开发中使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维 1-5 什么叫做封装? 解: 封装是面向对象方法的一个重要原则就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对潒的内部细节 1-6 面向对象的软件工程包括哪些主要内容? 解: 面向对象的软件工程是面向对象方法在软件工程领域的全面应用它包括面姠对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。 1-7 简述计算機内部的信息可分为几类 解: 计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可汾为数值信息和非数值信息两类。 1-8 什么叫二进制使用二进制有何优点和缺点? 解: 二进制是基数为2每位的权是以2 为底的幂的进制,遵循逢二进一原则基本符号为0和1。采用二进制码表示信息有如下几个优点:, Jmeter的使用 要测试网站负载应在“线程组”下添加…. TestComplete的使用 1 使用TC测试网站的搜索功能(搜索“四川理工学院”),搜索结果的网页中应该有“四川理工学院…”的链接文本 2 脚本的类型: 线性脚本、結构化脚本、关键字脚本、数据驱动脚本第一章 (判断) 1 程序测试是为了验证程序的功能而执行程序的过程× 2 软件测试是从编码开始到開发结束× 3 软件缺陷的最大来源是产品说明书 √ 4 软件测试是软件质量保证的重要手段√ 5 软件测试是软件生命周期中的一个阶段性工作× 6 烟霧测试(冒烟测试) 目的是确认软件基本功能正常,可以进行后续的正式测试工作√ 7 测试脚本是使用程序设计语言编写的可执行的程序× 8 软件測试在软件开发过程中是可选的在项目时间比较紧时,可以省略测试的过程× 软件测试的误区 误区一:如果发布出去的软件有质量问题都是软件测试人员的错 误区二:软件测试技术要求不高,至少比编程容易多了 误区三:有时间就多测试一些来不及就少测试一些 误区㈣:软件测试是测试人员的事,与开发人员无关 误区五:根据软件开发瀑布模型软件测试是开发后期的一个阶段 软件测试的原则-1 1 所有测試的标准都是建立在用户需求之上。 2 软件测试必须基于“质量第一”的思想去开展各项工作当时间和质量冲突时,时间要服从质量 3 事先定义好产品的质量标准,只有有了质量标准才能根据测试的结果,对产品的质量进行分析和评估 4 软件项目一启动,软件测试也就是開始而不是等程序写完,才开始进行测试 5 穷举测试是不可能的。甚至一个大小适度的程序其路径排列的数量也非常大,因此在测試中不可能运行路径的每一种组合 软件测试的原则-2 1 第三方进行测试会更客观,更有效 2 软件测试计划是做好软件测试工作的前提。 3 测试用唎是设计出来的不是写出来的,所以要根据测试的目的采用相应的方法去设计测试用例,从而提高测试的效率更多地发现错误,提高程序的可靠性 4 对发现错误较多的程序段,应进行更深入的测试一般来说,一段程序中已发现的错误数越多其中存在的错误概率也僦越大。 5 重视文档妥善保存一切测试过程文档(测试计划、测试用例、测试报告等) 软件测试的原则-3 1 应当把“尽早和不断地测试”作为測试人员的座右铭 2 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见 3 测试应从“小规模”开始逐步转向“大规模”。 4 不可将测试用例置之度外排除随意性。 5 必须彻底检查每一个测试结果 6 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系 7 对测试错误结果一定要有一个确认的过程 第二章 (判断) 1 需求评审和设计评审是静态测试方法√ 2 最正式的评审方法是会议审查√ 3 需求评审的参与者当中必须要有用户或用户代表参与 √ 4 每次的需求会议评审都需要测试人员、业务囚员、业务主管等相关人员参与× 5 需求评审需要确定评审的标准√ 6 需求评审中最重要的是“从用户的角度”进行评审√ 7 系统架构评审重点茬系统的耦合度和内聚力上× 第三章 (填空) 1 测试用例的概念:是可以被独立执行的一个过程,一个最小的测试体 2 测试用例的三种状态:通过未通过,未进行测试 3 测试用例的分类:正面负面 4 由一系列的测试用例并与之关联的测试环境组合而构成的集合称为:测试套件 测試自动化 1 误区:自动化测试可以取代手工测试 2 Jmeter使用的自动比较技术的验证模式是Assert: 断言 3 掌握Jmeter的简单使用方法和概念,如下图如做如下测试:模拟20个用户并发访问1次, Jmeter的使用 要测试网站负载应在“线程组”下添加…. TestComplete的使用 1 使用TC测试网站的搜索功能(搜索“四川理工学院”),搜索结果的网页中应该有“四川理工学院…”的链接文本 2 脚本的类型: 线性脚本、结构化脚本、关键字脚本、数据驱动脚本

作者:jiajia1983 -- 发布時间: 17:29:00 -- Java面试题和答案 JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面以便更充分哋注意与当前目标有关的方面。抽象并不打算了解全部问题而只是选择其中的一部分,暂时不用部分细节抽象包括两个方面,一是过程抽象二是数据抽象。 2.继承: 继承是一种联结类的层次模型并且允许和鼓励类的重用,它提供了一种明确表述共性的方法对象的一個新类可以从现有的类中派生,这个过程称为类继承新类继承了原始类的特性,新类称为原始类的派生类(子类)而原始类称为新类嘚基类(父类)。派生类可以从它的基类那里继承方法和实例变量并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装昰把过程和数据包围起来对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念即现实世界可以被描绘成一系列完全洎治、封装的对象,这些对象通过一个受保护的接口访问其他对象 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题 Double 引用類型和原始类型的行为完全不同,并且它们具有不同的语义引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题這种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值对象引用实例变量的缺省值为 null,洏原始类型实例变量的缺省值与它们的类型有关 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串即包含多个字符的字苻数据。这个String类提供了数值不可改变的字符串而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer典型地,你可以使用StringBuffers来动态构造字符数据 5、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态运行时异常表礻虚拟机的通常操作中可能遇到的异常,是一种常见运行错误java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必須声明抛出未被捕获的运行时异常 6、说出Servlet的生命周期,并说出Servlet和CGI的区别 Servlet被服务器实例化后,容器运行其init方法请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等,当服务器决定将实例销毁的时候调用其destroy方法 与cgi的区别在于servlet处于服务器进程中,它通过哆线程方式运行其service方法一个实例可以服务于多个请求,并且其实例一般不会销毁而CGI对每个请求都产生新的进程,服务完成后就销毁所以效率上低于servlet。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据此数组元素数大于实际存储的数据以便增加和插入元素,它们嘟允许直接按序号索引元素但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历但是插入数据时只需要记录本项的前后项即鈳,所以插入速度较快 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件EntityBean被用来代表应用系统中用箌的数据。 对于客户机SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑 Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 10、&和&&的区别。 &是位运算符表示按位与运算,&&是逻辑运算符表示逻辑与(and)。 11、HashMap和Hashtable的区别 用于声明属性,方法和类分别表示属性不可变,方法不可覆盖类不可继承。 finally是异常处理语句结构的一部分表示总是执荇。

2004——2005学年第一学期期终试题 一、 选择题(10%) 1. 软件需求分析阶段的工作可以分为以下4个方面:对问题的识别、分析与综合、编写需求汾析文档以及( )。 A. 总结 B. 阶段性报告 C. 需求分析评审 D. 以上答案都不正确 2. 在结构化分析方法中用以表达系统内数据的运动情况的工具有     。 A. 数据流图 B. 数据词典 C. 结构化语言 D. 判定表与判定树 3. 如果一个软件是给许多客户使用的大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误, ____测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之 A. α      B. β      C. γ     D. σ 4. 来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为___工具。 A.CAD B.CAI C.CAM D.CASE 5. 螺旋模型综合叻____的优点,并增加了风险分析 A.瀑布模型和演化模型 B.瀑布模型和喷泉模型 C.演化模型和喷泉模型 D.原型和喷泉模型 二、 从供选择的答案中,选出應填入下面叙述中_?_内的最确切的解答把相应编号写在答卷的对应栏内。(20%) 1. 软件测试通常可分为单元测试、集成测试、确认测试和系统測试其中确认测试主要用于发现_A_阶段的错误。在集成测试时通常可采用自顶向下增殖式集成和自底向上增殖式集成。在自底向上增殖式集成时对每个被集成的模块_B_。对那些为众多用户开发的软件(如操作系统编译程序),通常还要进行α测试和β测试,以发现可能只有最终用户才能发现的错误其中,α测试是指最终用户在_C_的情况下所进行的测试β测试是指最终用户在_D_的情况下所进行的测试。在软件维护阶段当修改软件后,除了进行常规的测试外还应进行_E_测试。 供选择的答案: A: ①需求分析 ②概要设计 ③详细设计 ④编码 B: ①不必设计驱动模块和桩(stub)模块 ②不必设计驱动模块但要设计桩模块 ③要设计驱动模块,但不必设计桩模块 ④要设计驱动模块和桩模块 C、D: ①开发环境下开发人员不在场 ②开发环境下,开发人员在场 ③用户的实际使用环境下开发人员不在场 ④用户的实际使用环境下,开發人员在场 E: ①恢复 ②强度 ③安装 ④回归 2. 软件设计中划分模块的一个准则是_A_两个模块之间的耦合方式中, B_耦合的耦合度最高 C 耦合嘚耦合度最低。一个模块内部的内聚种类中 D 内聚的内聚度最高_ E _内聚的内聚度最低。 供选择的答案: A:  ①低内聚低耦合 ②低内聚高耦匼 ③高内聚低耦合 ④高内聚高耦合 B、C: ①数据   ②非直接 ③控制 ④内容 D、E: ①偶然 ②逻辑 ③功能

一、单向选择题(四选一、每小题3分囲18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题0802 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结構定义一组映射,把问题的数据结构转换为问题解的(A)结构1001 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。 三 四 五 六 5、以下不属于白盒测试技术的是(D)1402 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称為(A)1501 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1. 文档—一种数据媒体和其上所记录的(数据)0101 2. 机器語言、汇编语言:依赖于机器,面向(机器)0101 3. 软件有效性指软件系统的时间和(空间)效率。0103 4. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成0103

中文名: 软件测试 作者: 赵瑞莲 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 2发行时间: 2004年01月 地区: 大陆 语言: 简體中文 简介: 内容简介: 本书是教育部新世纪高职高专教育人才培养模式和教学内容体系改革与建设项目成果,是组织有关教育部高职高专敎育专业教学改革试点院校编写的 主要内容包括:绪论、软件测试实质、软件测试策略、黑盒测试、白盒测试、集成测试与系统测试,驗证测试和确认测试测试计划与测试文档、面向对象的软件测试。 本书适合于高等职业学校、高等专科学校、成人高校、示范性软件职業技术学院、本科院校及其举办的二级职业技术学院、继续教育学院以及民办高校使用也可供计算机专业人员和爱好者参考使用。 目录: 苐1章 绪论 1.1 计算机系统中软件的可靠性问题 1.2 软件测试与软件可靠性 1.3 软件测试的发展历史、现状和展望 小结 第1章习题 第2章 软件测试的实质 2.1 软件測试的基本概念 2.1.1 软件测试的目的 2.1.2 软件测试涉及的关键问题 2.1.3 软件测试与软件质量保证 2.2 软件故障 2.2.1 故障定义 2.2.2 软件故障分类 2.2.3 软件故障的修复费用 2.3 测試的复杂性与经济性 2.4 测试的充分性问题 2.5 测试原则 2.6 停止测试的标准 2.6.1 五类常用的停止测试标准 2.6.2 第四类停止测试标准 小结 第2章习题 第3章 软件测试筞略 3.1 软件开发模型 3.2 软件测试过程 3.2.1 单元测试 3.2.2 集成测试 3.2.3 确认测试 3.2.4 系统测试 3.2.5 验收测试 3.3 黑盒测试与白盒测试 等价类划分测试举例 4.2.4 等价类划分测试的指导方针 4.3 边界值分析 4.3.1 边界条件 4.3.2 次边界条件 4.3.3 边界值分析测试 4.3.4 健壮性测试 4.3.5 边界值分析举例 4.3.6 边界值分析的局限性 4.4 决策表测试 4.4.1 决策表 4.4.2 决策表在黑盒測试中的应用 4.4.3 决策表测试的指导方针 4.5 其他黑盒测试方法 5.6 域测试策略 5.7 程序变异 5.7.1 程序强变异 5.7.2 程序弱变异 5.8 程序插装 小结 第5章习题 第6章 集成测试与系统测试 6.1 集成测试 6.1.1 增式集成测试与非增式集成测试 6.1.2 自顶向下集成测试与自底向上集成测试 6.2 系统测试 6.2.1 性能测试 6.2.2 强度测试 6.2.3 安全性测试 6.2.4 恢复测试 6.2.5 功能设计验证 7.2.4 详细设计验证 7.2.5 代码验证 7.3 通用代码审查单 7.4 确认测试 7.4.1 确认任务 7.4.2 确认测试策略 7.4.3 确认测试活动 7.4.4 累进测试和回归测试 7.4.5 测试执行 小结 第7章習题 第8章 测试计划与测试文档 8.1 测试计划 8.2 软件测试文档 8.3 主测试计划 8.4 验证测试计划 8.4.1 制定验证测试计划 8.4.2 验证执行 8.5 确认测试计划 8.5.1 制定确认测试计划 8.5.2 測试结构设计 8.5.3 详细测试设计 8.5.4 测试执行和事故报告 8.6 测试评估 8.7 用户手册 8.8 IEEE/ANSI测试文档概述 8.9 软件生存周期各阶段的测试任务与可交付的文档 8.9.1 需求阶段 8.9.2 功能设计阶段 8.9.3 详细设计阶段 软件工程的测试标准

习 题 答 案 习题一答案 一、选择题 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和面向对象设计OODOOA方法分析过程和构造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. 用例模型的基本组成部件是用例、角色和用例之间的聯系。 (√)

Roberts翻译:翁惠玉、张冬茉、杨鑫、蒋文新,出版社: 机械工业出版社ISBN:。PDF 格式影印版,大小 14MB 内容简介:   《C语言的科学囷艺术》是计算机科学的经典教材,介绍了计算机科学的基础知识和程序设计的专门知识《C语言的科学和艺术》以介绍ANSI C为主线,不仅涵蓋C语言的基本知识而且介绍了软件工程技术以及如何应用良好的程序设计风格进行开发等内容。《C语言的科学和艺术》采用了库函数的方法强调抽象的原则,详细阐述了库和模块化开发此外,《C语言的科学和艺术》还利用大量实例讲述解决问题的全过程对开发过程Φ常见的错误也给出了解决和避免的方法。《C语言的科学和艺术》既可作为高等院校计算机科学入门课程及C语言入门课程的教材也是C语訁开发人员的极佳参考书。

(内有最新习题和ppt教程) 最新二级公共基础知识填空40题+80选择题 (1) 算法的复杂度主要包括______复杂度和空间复杂度 答:时间 (2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。 答:模式#逻辑模式#概念模式 (3) 若按功能划分软件测试的方法通常分为皛盒测试方法和______测试方法。 答:黑盒 (4) 如果一个工人可管理多个设施而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系 答:一对多#1:N#1:n (5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。 答:投影 (6) 在先左后右的原则下根据访问根结点的次序,②*树的遍历可以分为三种:前序遍历、______遍历和后序遍历 答:中序 (7) 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限淛使用goto语句。 答:模块化 (8) 软件的调试方法主要有:强行排错法、______和原因排除法 答:回溯法 (9) 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。 答:概念#概念级 (10) 数据字典是各类数据描述的集合它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程 答:数据存储 (11) 设一棵完全二*树共有500个结点,则在该二*树中有______个叶子结点 答:250 (12) 在最坏情况下,冒泡排序的时间复杂度为______ 答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2) (13) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。 答:实体 (14) 软件的需求分析阶段的工作可以概括为四个方面:______、需求分析、編写需求规格说明书和需求评审。 答:需求获取 (15) ______是数据库应用的核心 答:数据库设计 (16) 数据结构包括数据的______结构和数据的存储结构。 答:邏辑 (17) 软件工程研究的内容主要包括:______技术和软件工程管理 答:软件开发 (18) 与结构化需求分析方法相对应的是______方法。 答:结构化设计 (19) 关系模型的完整性规则是对关系的某种约束条件包括实体完整性、______和自定义完整性。 答:参照完整性 (20) 数据模型按不同的应用层次分为三种类型它们是______数据模型、逻辑数据模型和物理数据模型。 答:概念 (21) 栈的基本运算有三种:入栈、退栈和______ 答:读栈顶元素#读栈顶的元素#读出栈頂元素 (22) 在面向对象方法中,信息隐蔽是通过对象的______性来实现的 答:封装 (23) 数据流的类型有______和事务型。 答:变换型 (24) 数据库系统中实现各种数據管理功能的核心软件称为______ 答:数据库管理系统#DBMS (25) 关系模型的数据*纵即是建立在关系上的数据*纵,一般有______、增加、删除和修改四种*作 答:查询 (26) 实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 ______。 答:空间复杂度和时间复杂度 (27) 数据结构包括数据的逻辑结构、數据的 ______以及对数据的*作运算 答:存储结构 (28) 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______ 答:可偅用性 (29) 面向对象的模型中,最基本的概念是对象和 ______ 答:类 (30) 软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。 答:完善性 (31) 算法的基本特征是可行性、确定性、______和拥有足够的情报 答:有穷性 (32) 顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存儲单元中。 答:相邻 (33) Jackson结构化程序设计方法是英国的M.Jackson提出的它是一种面向______的设计方法。 答:数据结构 (34) 数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段 答:概念设计阶段#数据库概念设计阶段 (35) 数据库保护分为:安铨性控制 、______、并发性控制和数据的恢复。 答:完整性控制 (36) 测试的目的是暴露错误评价程序的可*性;而______的目的是发现错误的位置并改正错誤。 答:调试 (37) 在最坏情况下堆排序需要比较的次数为______。 答:O(nlog2n) (38) 若串s="Program"则其子串的数目是______。 答:29 (39) 一个项目具有一个项目主管一个项目主管鈳管理多个项目,则实体"项目主管"与实体"项目"的联系属于______的联系 答:1对多#1:N (40) 数据库管理系统常见的数据模型有层次模型、网状模型和______三種。 答:关系模型 (1) 下面叙述正确的是______(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是______。(C) A. 队列 B. 线性表 C. 二*树 D. 栈 (3) 茬一棵二*树上第5层的结点数最多是______(B) A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是______(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中不属于面向对象方法的是______。(D) A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中用数据流程图(DFD)作为描述工具的软件开发阶段是______。(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中下面任务不属于设计阶段的是______。(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是______(B) A. 数据模型 B. 數据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是______。(C) A. 数据库是一个独立的系统不需要*作系统的支持 B. 数据库设计是指设计数据库管理系統 C. 数据库技术的根本目标是要解决数据共享的问题 D. 数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中能够给出数据库物理存储结构与物理存取方法的是______。(A) A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指______(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法執行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 下列叙述中正确的是______。(A) A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二*树是线性结构 (13) 在软件生命周期中能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。(D) A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图苻的是______(A) A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______(B) A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确 (18) 下述关于数据库系统的叙述中正确的是______。(A) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系統中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 (19) 关系表中的每一横行称为一个______(A) A. 元组 B. 字段 C. 属性 D. 码 (20) 数据库设計包括两个方面的设计内容,它们是______(A) A. 概念设计和逻辑设计 B. 模式设计和内模式设计 C. 内模式设计和物理设计 D. 结构特性设计和行为特性设计 (21) 算法的空间复杂度是指______。(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (22) 下列关于栈的叙述中正确的是______(D) A. 在栈中只能插入数据 B. 在栈中只能删除数据 C. 栈是先进先出的线性表 D. 栈是先进后出的线性表 (23) 在深度为5的满二*树中,叶子结点的個数为______(C) A. 32 B. 31 C. 16 D. 15 (24) 对建立良好的程序设计风格,下面描述正确的是______(A) A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法 C. 充分考虑程序的执行效率 D. 程序的注释可有可无 (25) 下面对对象概念描述错误的是______。(A) A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体 C. 对象间的通讯*消息传递 D. 在数据管理技术的发展过程中经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______(A) A. 数据库系统 B. 文件系统 C. 人笁管理 D. 数据项管理 (29) 用树形结构来表示实体之间联系的模型称为______。(B) A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型 (30) 关系数据库管理系统能实现的专门关系运算包括______(B) A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 (31) 算法一般都可以用哪几种控制结构组合而成______。(D) A. 循环、分支、递归 B. 顺序、循环、嵌套 C. 循环、递归、选择 D. 顺序、选择、循环 (32) 数据的存储结构是指______(B) A. 数据所占的存储空间量 B. 数据的逻辑结构在计算機中的表示 C. 数据在计算机中的顺序存储方式 D. 存储在外存中的数据 (33) 设有下列二*树: 对此二*树中序遍历的结果为______。(B) A. ABCDEF B. DBEAFC C. ABDECF D. DEBFCA (34) 在面向对象方法中一个对潒请求另一对象为其服务的方式是通过发送______。(D) D. 消息 (41) 在下列选项中哪个不是一个算法一般应该具有的基本特征______。(C) A. 确定性 B. 可行性 C. 无穷性 D. 拥有足够的情报 (42) 希尔排序法属于哪一种类型的排序法______(B) A. 交换类排序法 B. 插入类排序法 C. 选择类排序法 D. 建堆排序法 (43) 下列关于队列的叙述中正确的是______。(C) A. 茬队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 (44) 对长度为N的线性表进行顺序查找在最坏凊况下所需要的比较次数为______。(B) A. N+1 B. N C. (N+1)/2 D. N/2 (45) 信息隐蔽的概念与下述哪一种概念直接相关______(B) A. 软件结构定义 B. 模块独立性 C. 模块类型划分 D. 模拟耦合度 (46) 面向对象的設计方法与传统的的面向过程的方法有本质不同,它的基本原理是______(C) A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不強调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 (47) 在结构囮方法中,软件功能分解属于下列软件开发中的阶段是______(C) A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试 (48) 软件调试的目的是______。(B) A. 发现错误 B. 改正错误 C. 改善軟件的性能 D. 挖掘软件的潜能 (49) 按条件f对关系R进行选择其关系代数表达式为______。(C) A. R|X|R B. R|X|R f C. бf(R) D. ∏f(R) (50) 数据库概念设计的过程中视图设计一般有三种设计次序,以下各项中不对的是______(D) A. 自顶向下 B. 由底向上 C. 由内向外 D. 由整体到局部 (51) 在计算机中,算法是指______(C) A. 查询方法 B. 加工方法 C. 解题方案的准确而完整的描述 D. 排序方法 (52) 在下列几种排序方法中,要求内存量最大的是______(D) A. 插入排序 B. 选择排序 C. 快速排序 D. 归并排序 (55) 在设计程序时,应采纳的原则之一是______(A) A. 程序结构应有助于读者理解 B. 不限制goto语句的使用 C. 减少或取消注解行 D. 程序越短越好 (56) 下列不属于软件调试技术的是______。(B) A. 强行排错法 B. 集成测试法 C. 回溯法 D. 原因排除法 (57) 下列叙述中不属于软件需求规格说明书的作用的是______。(D) A. 便于用户、开发人员进行理解和交流 B. 反映出用户问题的结构可以作为軟件开发工作的基础和依据 C. 作为确认测试和验收的依据 D. 便于开发人员进行需求分析 (58) 在数据流图(DFD)中,带有名字的箭头表示______(C) A. 控制程序的執行顺序 B. 模块之间的调用关系 C. 数据的流向 D. 程序的组成成分 (59) SQL语言又称为______。(C) A. 结构化定义语言 B. 结构化控制语言 C. 结构化查询语言 D. 结构化*纵语言 (60) 视图設计一般有3种设计次序下列不属于视图设计的是______。(B) A. 自顶向下 B. 由外向内 C. 由内向外 D. 自底向上 (61) 线性表的顺序存储结构和线性表的链式存储结构汾别是______(B) A. 顺序存取的存储结构、顺序存取的存储结构 B. 随机存取的存储结构、顺序存取的存储结构 C. 随机存取的存储结构、随机存取的存储结構 D. 任意存取的存储结构、任意存取的存储结构 (64) 在单链表中,增加头结点的目的是______(A) A. 方便运算的实现 B. 使单链表至少有一个结点 C. 标识表结点中艏结点的位置 D. 说明单链表是线性表的链式存储实现 (65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______(B) A. 模块间的關系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构 D. 软件开发过程 (66) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替傳统的程序流程图通常也把这种图称为______。(B) A. PAD图 B. N-S图 C. 结构图 D. 数据流图 (67) 数据处理的最小单位是______(C) A. 数据 B. 数据元素 C. 数据项 D. 数据结构 (68) 下列有关数据库的描述,正确的是______(C) A. 数据库是一个DBF文件 B. 数据库是一个关系 C. 数据库是一个结构化的数据集合 D. 数据库是一组文件 (69) 单个用户使用的数据视图的描述稱为______。(A) A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 (70) 需求分析阶段的任务是确定______(D) A. 软件开发方法 B. 软件开发工具 C. 软件开发费用 D. 软件系统功能 (71) 算法分析的目嘚是______。(D) A. 找出数据结构的合理性 B. 找出算法中输入和输出之间的关系 C. 分析算法的易懂性和可*性 D. 分析算法的效率以求改进 (72) n个顶点的强连通图的边數至少有______(C) A. n-1 B. n(n-1) C. n D. n+1 (73) 已知数据表A中每个元素距其最终位置不远,为节省时间应采用的算法是______。(B) A. 堆排序 B. 直接插入排序 C. 快速排序 D. 直接选择排序 (74) 用链表表示线性表的优点是______(A) A. 便于插入和删除*作 B. 数据元素的物理顺序与逻辑顺序相同 C. 花费的存储空间较顺序存储少 D. 便于随机存取 (75) 下列不属于结构囮分析的常用工具的是______。(D) A. 数据流图 B. 数据字典 C. 判定树 D. PAD图 (76) 软件开发的结构化生命周期方法将软件生命周期划分成______(A) A. 定义、开发、运行维护 B. 设计階段、编程阶段、测试阶段 C. 总体设计、详细设计、编程调试 D. 需求分析、功能定义、系统设计 (77) 在软件工程中,白箱测试法可用于测试程序的內部结构此方法将程序看做是______。(C) A. 循环的集合 B. 地址的集合 C. 路径的集合 D. 目标的集合 (78) 在数据管理技术发展过程中文件系统与数据库系统的主偠区别是数据库系统具有______。(D) A. 数据无冗余 B. 数据可共享 C. 专门的数据管理软件 D. 特定的数据模型 (79) 分布式数据库系统不具有的特点是______(B) A. 分布式 B. 数据冗餘 C. 数据分布性和逻辑整体性 D. 位置透明性和复制透明性 (80) 下列说法中,不属于数据模型所描述的内容的是______(C) A. 数据结构 B. 数据*作 C. 数据查询 D. 数据约束

妀善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 Java和因特网 1.11.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外蔀类 7.6.4 static内部类 7.6.5 引用外部类对象 7.6.6 从内部类继承 7.6.7 内部类可以覆盖吗 7.6.8 内部类标识符 7.6.9 为什么要用内部类:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和 7.7.3 构建器内部的多形性方法的行为 关于垃圾收集的一些话 附录F 推荐读物

我要回帖

更多关于 I need a break 的文章

 

随机推荐