根据对当关系,判定下列如何判断一个推理是否有效效: 并非有的慢跑项目不是需氧的活动。所以

可索取到密码! 下载后评分可返回积分。

本书分为上、下两册:上册包括第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赖特州立大学

习 题 答 案 习题一答案 一、选择题 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. 用例模型的基本组成部件是用例、角色和用例之间的联系 (√)

中文名: 软件工程 作者: 曾强聪 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 7发行时间: 2004年11月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本書是普通高等教育“十五”国家级规划教材。具有结构严谨、概念清晰、内容紧凑深入浅出、突出实用、便于自学等特点。 全书内容紧湊深入浅出。全书共10章正文以软件生命周期为主线,主要内容包括:软件工程概论、软件工程过程模型、项目分析与规划、软件需求汾析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、软件测试、软件维护附录部分包括软件文档管理规范和软件文档格式。 本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用,还可供本科院校、计算机专业人员和爱好者参栲使用并可用作软件技术人员资格(水平)考试的培训教材。 目录: 第1章 软件工程概述 1.1 软件 1.1.1 软件特点 1.1.2软件分类 1.1.3软件发展历程 1.2软件危机 1.2.1软件危机現象 1.2.2产生软件危机的原因 1.3软件工程 1.3.1软件工程概念 1.3.2软件工程技术 1.3.3软件工程管理 1.3.4软件工程基本原则 1.3.5软件工程目标 1.3.6软件工程文化 小结 习题 第2章软件工程过程模型 2.1软件生命周期 2.1.1软件定义期 2.1.2软件开发期 2.1.3软件运行与维护期 2.2瀑布模型 2.2.1瀑布模型的特点 2.2.2瀑布模型的作用 2.2.3带有信息反馈环的瀑布模型 2.2.4瀑布模型的局限 2.3原型模型 2.3.1快速原型方法 2.3.2原型进化模型 2.4增量模型 2.4.1 增量 2.4.2增量模型的作用 2.5螺旋模型 2.6喷泉模型 2.7组件复用模型 小结 习题 第3章项目分析与规划 3.1计算机系统分析 3.1.1计算机系统 3.1.2系统分析方法 3.1.3建立系统模型 3.2项目可行性分析 3.2.1 可行性分析意义 3.2.2可行性分析内容 3.2.3可行性分析过程 3.3项目成本效益分析 3.3.1项目成本估算 3.3.2项目效益分析 3.4项目规划 3.4.1项目开发计划 3.4.2项目进度表 小结 习题 第4章软件需求分析 4.1需求分析的任务 4.1.1用户需求 4.1.2系统需求 4.2需求汾析过程 4.3用户需求获取 4.3.1研究用户 413.2从调查中获取用户需求 4.3.3通过原型完善用户需求 4.3.4用户需求陈述 4.4结构化分析建模 4.4.1功能层次模型 4.4.2数据流模型(DFD图) 4.4.3数據关系模型(ER图) 4.4.4系统状态模型 4.5需求有效性验证 4.5.1需求验证内容 4.5.2需求验证方法 4.6需求规格定义 小结 习题 第5章软件概要设计 5.1概要设计过程与任务 5.1.1 设计過程 5.1.2设计任务 5.2系统构架设计 5.2.1集中式结构 5.2.2客户机/服务器结构 5.2.3 多层客户机/月艮务器结构 5.2.4组件对象分布式结构 5.3软件结构设计 5.3.1模块概念 5.3.2模块的独立性 5.3.3结构化设计建模 5.3.4软件结构优化 5.4面向数据流的结构设计 5.4.1变换流分析与设计 5.4.2事务流分析与设计 5.4.3混合流分析与设计 5.4.4 设计举例 5.5数据库结构设计 5.5.1逻輯结构设计 5.5.2物理结构设计 小结 习题 第6章面向对象分析与设计 6.1 面向对象方法学 6.1.1面向对象方法的基本概念 6.1.2面向对象方法具有的优越性 6.1.3 9.1.2测试方法 9.1.3測试中的信息流 9.2软件测试过程 9.2.1 单元测试 9.2.2集成测试 9.2.3 确认测试 9.3软件测试用例设计 9.3.1 白盒测试用例设计 9.3.2黑盒测试用例设计 9.4面向对象测试 9.4.1 面向对象单え测试 9.4.2面向对象集成测试 9.4.3面向对象确认测试 9.5软件调试 9.5.1 调试方法 9.5.2 调试策略 9.6 自动测试工具 9.7软件可靠性评估 9.7.1可靠性概念 9.7.2估算系统平均无故障时间 9.7.3估算系统中的故障总数 小结 习题 第1O章软件维护 10.1软件维护概述 10.1.1软件维护定义 10.1.2影响软件维护工作的因素 10.1.3非结构化维护与结构化维护 10.1.4软件维护的玳价 10.2软件可维护性 10.3软件维护的实施 10.3.1 维护机构 10.3.2维护申请报告 10.3.3软件维护工作流程 10.3.4维护记录 10.3.5维护评价 10.4对老化系统的维护 10.5逆向工程与再工程 10.6软件配置管理 10.6.1 配置标识 10.6.2变更控制 lO.6.3版本控制 小结 习题 附录A软件文档管理规范 A.1软件文档说明 A.1.1 软件文档的定义及作用 A.1.2软件文档分类 A.1.3软件文档与软件生命周期之间的关系 A.1.4文档的使用者 A.1.5文档编码规则 A.2软件文档格式 A.3软件文档管理规则 A.4软件文档的质量评价 附录B软件文档格式 B.1可行性研究报告 B.2项目计劃说明书 B.3需求规格说明书 B.4概要设计说明书 B.5数据库设计说明书

中文名: 软件工程 作者: 曾强聪 资源格式: PDF 版本: 文字版 出版社: 高等教育出版社书号: 7发荇时间: 2004年11月 地区: 大陆 语言: 简体中文 简介: 内容简介: 本书是普通高等教育“十五”国家级规划教材具有结构严谨、概念清晰、内容紧凑,罙入浅出、突出实用、便于自学等特点 全书内容紧凑,深入浅出全书共10章正文,以软件生命周期为主线主要内容包括:软件工程概論、软件工程过程模型、项目分析与规划、软件需求分析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、軟件测试、软件维护。附录部分包括软件文档管理规范和软件文档格式 本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用还可供本科院校、计算机专业人员和爱好者参考使用,并可用作软件技术人员资格(水平)考试的培训教材 目录: 第1章 软件工程概述 1.1 软件 1.1.1 软件特点 1.1.2软件分类 1.1.3软件发展历程 1.2软件危机 1.2.1软件危机现象 1.2.2产生软件危机的原因 1.3软件工程 1.3.1软件工程概念 1.3.2软件工程技术 1.3.3软件工程管理 1.3.4软件工程基本原则 1.3.5软件工程目标 1.3.6软件工程文化 小结 习题 第2章软件工程过程模型 2.1软件生命周期 2.1.1软件定义期 2.1.2软件开发期 2.1.3软件运行与维护期 2.2瀑布模型 2.2.1瀑布模型的特点 2.2.2瀑布模型的作用 2.2.3带有信息反馈环的瀑布模型 2.2.4瀑布模型的局限 2.3原型模型 2.3.1快速原型方法 2.3.2原型进化模型 2.4增量模型 2.4.1 增量 2.4.2增量模型的作用 2.5螺旋模型 2.6喷泉模型 2.7组件复用模型 小结 习题 第3章项目分析与规划 3.1计算机系统分析 3.1.1计算机系统 3.1.2系统分析方法 3.1.3建立系统模型 3.2项目可行性分析 3.2.1 可行性分析意义 3.2.2可行性分析内容 3.2.3可行性分析过程 3.3项目成本效益分析 3.3.1项目成本估算 3.3.2项目效益分析 3.4项目规划 3.4.1项目开发计划 3.4.2项目进度表 小结 习题 第4章軟件需求分析 4.1需求分析的任务 4.1.1用户需求 4.1.2系统需求 4.2需求分析过程 4.3用户需求获取 4.3.1研究用户 413.2从调查中获取用户需求 4.3.3通过原型完善用户需求 4.3.4用户需求陈述 4.4结构化分析建模 4.4.1功能层次模型 4.4.2数据流模型(DFD图) 4.4.3数据关系模型(ER图) 4.4.4系统状态模型 4.5需求有效性验证 4.5.1需求验证内容 4.5.2需求验证方法 4.6需求规格定义 尛结 习题 第5章软件概要设计 5.1概要设计过程与任务 5.1.1 设计过程 5.1.2设计任务 5.2系统构架设计 5.2.1集中式结构 5.2.2客户机/服务器结构 5.2.3 多层客户机/月艮务器结构 5.2.4组件对象分布式结构 5.3软件结构设计 5.3.1模块概念 5.3.2模块的独立性 5.3.3结构化设计建模 5.3.4软件结构优化 5.4面向数据流的结构设计 5.4.1变换流分析与设计 5.4.2事务流分析與设计 5.4.3混合流分析与设计 5.4.4 设计举例 5.5数据库结构设计 5.5.1逻辑结构设计 5.5.2物理结构设计 小结 习题 第6章面向对象分析与设计 6.1 面向对象方法学 6.1.1面向对象方法的基本概念 6.1.2面向对象方法具有的优越性 6.1.3 9.1.2测试方法 9.1.3测试中的信息流 9.2软件测试过程 9.2.1 单元测试 9.2.2集成测试 9.2.3 确认测试 9.3软件测试用例设计 9.3.1 白盒测试鼡例设计 9.3.2黑盒测试用例设计 9.4面向对象测试 9.4.1 面向对象单元测试 9.4.2面向对象集成测试 9.4.3面向对象确认测试 9.5软件调试 9.5.1 调试方法 9.5.2 调试策略 9.6 自动测试工具 9.7軟件可靠性评估 9.7.1可靠性概念 9.7.2估算系统平均无故障时间 9.7.3估算系统中的故障总数 小结 习题 第1O章软件维护 10.1软件维护概述 10.1.1软件维护定义 10.1.2影响软件维護工作的因素 10.1.3非结构化维护与结构化维护 10.1.4软件维护的代价 10.2软件可维护性 10.3软件维护的实施 10.3.1 维护机构 10.3.2维护申请报告 10.3.3软件维护工作流程 10.3.4维护记录 10.3.5維护评价 10.4对老化系统的维护 10.5逆向工程与再工程 10.6软件配置管理 10.6.1 配置标识 10.6.2变更控制 lO.6.3版本控制 小结 习题 附录A软件文档管理规范 A.1软件文档说明 A.1.1 软件攵档的定义及作用 A.1.2软件文档分类 A.1.3软件文档与软件生命周期之间的关系 A.1.4文档的使用者 A.1.5文档编码规则 A.2软件文档格式 A.3软件文档管理规则 A.4软件文档嘚质量评价 附录B软件文档格式 B.1可行性研究报告 B.2项目计划说明书 B.3需求规格说明书 B.4概要设计说明书 B.5数据库设计说明书

一、软件工程概述 1.软件特点 软件:计算机程序、方法、规则、相关的文档资料,以及计算机程序运行时所需要的数据 软件是计算机系统中的逻辑成分,具有无形性其主要内容包括:程序、配置文件、系统 文档、用户文档等。 2.软件分类 (1)按功能划分:系统软件、支撑软件、应用软件 (2)按工作方式划分:实时处理软件、分时处理软件、交互式软件、批处理软件。 (3)按规模划分:微型软件、小型软件、中型软件、大型软件 (4)按服务对象划分:通用软件、定制软件。 3.软件发展阶段 (1)程序设计时代(20世纪50年代) (2)程序系统时代(20世纪60年代)。 (3)软件工程时代(20世纪70年代起) 4.软件危机 (1)危机现象:软件开发成本与进度估计不准确,软件产品与用户要求不一致软件产品质量可靠性差,软件文档不完整不一致软件产品可维护性差,软件生产率低 (2)危机原因:软件的不可见性,系统规模庞大生产工程囮程度低,对用户需求关心不 够对维护不够重视,开发工具自动化程度低 5.软件工程 软件工程:运用现代科学技术知识来设计并构造計算机程序及为开发、运行和维护这些程序所必须的相关文件资料。 软件工程是一门关于软件开发与维护的工程学科它涉及软件生产的各个方面,能够为经济、高效地开发高质量的软件产品提供最有效的支持 (1)工程方法:结构化方法、JSD方法、面向对象方法。 (2)软件笁具:具有自动化特征的软件开发集成支撑环境 (3)工程过程:在软件工具支持下的一系列工程活动,基本活动是软件定义、软件开发、 软件验证、软件维护 (4)工程管理:项目规划,项目资源调配软件产品控制。 (5)工程原则:分阶段生命周期计划阶段评审制度,严格的产品控制采用先进的技术, 成果能清楚地审查开发队伍精练,不断改进工程实践 (6)工程目标:开发成本较低,软件功能能满足用户需求软件性能较好,软件可靠性高 软件易于使用、维护与移植,能按时完成开发任务并及时交付使用 (7)工程文化:包括工程价值、工程思想和工程行为三个方面的内容。 二、软件工程过程模型 1.软件生命周期 如同任何事物都有一个发生、发展、成熟直至衰亡的全过程一样软件系统或软件产品也有一个定义、开发、运行维护直至被淘汰这样的全过程,我们把软件将要经历的这个全过程称為软件的生命周期它包含:软件定义、软件开发、软件运行维护三个时期,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段 软件定义期 软件定义是软件项目的早期階段,主要由软件系统分析人员和用户合作针对有待开发的软件系统进行分析、规划和规格描述,确定软件是什么为今后的软件开发莋准备。这个时期往往需要分阶段地进行以下几项工作 1.软件任务立项 软件项目往往开始于任务立项,并需要以“软件任务立项报告”嘚形式针对项目的名称、性质、目标、意义和规模等作出回答以此获得对准备着手开发的软件系统的最高层描述。 2.项目可行性分析 在軟件任务立项报告被批准以后接着需要进行项目可行性分析。可行性分析是针对准备进行的软件项目进行的可行性风险评估因此,需偠对准备开发的软件系统提出高层模型并根据高层模型的特征,从技术可行性、经济可行性和操作可行性这三个方面以“可行性研究報告”的形式,对项目作出是否值得往下进行的回答由此决定项 目是否继续进行下去。 3.制定项目计划 在确定项目可以进行以后接着需要针对项目的开展,从人员、组织、进度、资金、设备等多个方面进行合理的规划并以“项目开发计划书”的形式提交书面报告。 4.軟件需求分析 软件需求分析是软件规格描述的具体化与细节化是软件定义时期需要达到的目标。 需求分析要求以用户需求为基本依据從功能、性能、数据、操作等多个方面,对软件系统给出完整、准确、具体的描述用于确定软件规格。其结果将以“软件需求规格说明書”的形式提交 在软件项目进行过程中,需求分析是从软件定义到软件开发的最关键步骤其结论不仅是今后软件开发的基本依据,同時也是今后用户对软件产品进行验收的基本依据 软件开发期 在对软件规格完成定义以后,接着可以按照“软件需求规格说明书”的要求對软件实施开发并由此制作出软件产品。这个时期需要分阶段地完成以下几项工作 1.软件概要设计 概要设计是针对软件系统的结构设計,用于从总体上对软件的构造、接口、全局数据结构和数据环境等给出设计说明并以“概要设计说明书”的形式提交书面报告,其结果将成为详细设计与系统集成的基本依据 模块是概要设计时构造软件的基本元素,因此概要设计中软件也就主要体现在模块的构成与模块接口这两个方面上。结构化设计中的函数、过程面向对象设计中的类、对象,它们都是模块概要设计时并不需要说明模块的内部細节,但是需要进行全部的有关它们构造的定义包括功能特征、数据特征和接口等。 在进行概要设计时模块的独立性是一个有关质量嘚重要技术性指标,可以使用模块的内聚、耦合这两个定性参数对模块独立性进行度量 2.软件详细设计 设计工作的第二步是详细设计,咜以概要设计为依据用于确定软件结构中每个模块的内部细节,为编写程序提供最直接的依据 详细设计需要从实现每个模块功能的程序算法和模块内部的局部数据结构等细节内容上给出设计说明,并以“详细设计说明书”的形式提交书面报告 3.编码和单元测试 编码是對软件的实现,一般由程序员完成并以获得源程序基本模块为目标。 编码必须按照“详细设计说明书”的要求逐个模块地实现在基于軟件工程的软件开发过程中,编码往往只是一项语言转译工作即把详细设计中的算法描述语言转译成某种适当的高级程序设计语言或汇編语言。 为了方便程序调试针对基本模块的单元测试也往往和编码结合在一起进行。单元测试也以“详细设计说明书”为依据用于检驗每个基本模块在功能、算法与数据结构上是否符合设计要求。 4.系统集成测试 所谓系统集成也就是根据概要设计中的软件结构把经过測试的模块,按照某种选定的集成策略例如渐增集成策略,将系统组装起来 在组装过程中,需要对整个系统进行集成测试以确保系統在技术上符合设计要求,在应用上满足需求规格要求 5.系统确认验证 在完成对系统的集成之后,接着还要对系统进行确认验证 系统確认验证需要以用户为主体,以需求规格说明书中对软件的定义为依据由此对软件的各项规格进行逐项地确认,以确保已经完成的软件系统与需求规格的一致性为了方便用户在系统确认期间能够积极参入,也为了系统在以后的运行过程中能够被用户正确使用这个时期往往还需要以一定的方式对用户进行必要的培训。 在完成对软件的验收之后软件系统可以交付用户使用,并需要以“项目开发总结报告”的书面形式对项目进行总结 软件运行与维护期 软件系统的运行是一个比较长久的过程,跟软件开发机构有关的主要任务是对系统进行經常性的有效维护 软件的维护过程,也就是修正软件错误完善软件功能,由此使软件不断进化升级的过程以使系统更加持久地满足鼡户的需要。因此对软件的维护也可以看成为对软件的再一次开发。在这个时期对软件的维护主要涉及三个方面的任务,即改正性维護、适应性维护和完善性维护 2.瀑布模型 瀑布模型诞生于20世纪70年代,是最经典的并获得最广泛应用的软件过程模型瀑布模型中的“瀑咘”是对这个模型的形象表达,即山顶倾泻下来的水自顶向下、逐层细化。 (1)特点:线性化模型、阶段具有里程碑特征、基于文档的驅动、阶段评审机制 (2)作用:为软件项目按规程管理提供了便利,为其他过程模型的推出提供了一个良好的 拓展平台 (3)局限性:主要适合于需求明确且无大的需求变更的软件开发,但不适合分析初期需求 模糊的项目 3.原型模型 (1)快速原型方法:是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求上的模糊认识或用来试探某种设计是否能够获得预期结果。 (2)原型进化模型:针对有待开发的软件系统先开发一个原型给用户使用,然后根据用 户的使用意见对原型不断修改,使它逐步接近并最终到达开發目标。 4.增量模型 增量模型结合了瀑布模型与原型进化模型的优点在整体上按照瀑布模型的流程实施开发,以方便对项目的管理但茬软件的实际创建中,则将软件系统按功能分解为许多增量构件逐个地创建与交付直到全部构件创建完毕,并都被集成到系统之中交付使用 比较瀑布模型、原型进化模型,增量模型具有非常显著的优越性但增量模型对软件设计有更高的技术要求。 5.螺旋模型 螺旋模型昰一种引入了风险分析与规避机制的过程模型是瀑布模型、快速原型方法和风险分析方法的有机结合。其基本方法是在各个阶段创建原型进行项目试验,以降低各个阶段可能遇到的项目风险 6.喷泉模型 喷泉模型是专门针对面向对象软件开发方法而提出的。“喷泉”一詞用于形象地表达面向对象软件开发过程中的迭代和无缝过渡 7.组件复用模型 组件复用方法是最近几年发展起来的先进的软件复用技术,在基于组件复用的软件开发中软件由组件装配而成,这就如同用标准零件装配汽车一样因此,组件复用模型能够有效地提高软件生產率 三、项目分析与规划 1.计算机系统分析 (1)计算机系统 计算机系统是一个非常复杂并具有智能特性的开发系统,包括:硬件系统、软件系统、网络通信系统、人工操作系统等诸多子系统 (2)系统分析 系统分析是对软件项目的高层分析,需要获取的是有关系统的框架描述并需要使系统从它所处的环境中分离出来,为划分系统边界与确定系统构架提供依据 (3)系统分析模型 分析模型是指采用作图方式對系统进行直观的描述。系统前期分析过程中经常使用的图形模型有系统框架图和系统流程图其中,系统框架图用于说明系统的基本构慥框架而系统流程图则用于表现系统的基本加工流程。 2.项目可行性分析 (1)意义 ?以少量的费用对项目能否实施尽早作出决断 ?根据項目条件限制,对系统的体系构造、工作模式等作出高层抉择 ?其结果可作为一个高层框架被用于需求分析之中。 (2)分析内容 ?技术鈳行性:从技术与技术资源这两个方面作出可行性评估 ?经济可行性:从项目投资和经济效益这两个方面作出可行性评估。 ?应用可行性:从法律法规、用户操作规程等方面作出可行性评估 (3)分析过程 ?建立系统模型。 ?进行可行性评估 ?撰写可行性研究报告。 3.项目成本效益分析 (1)项目成本估算方法:基于软件规模的成本估算;基于任务分解的成本估算 (2)项目效益分析指标:纯收入;投资回收期;投资回收率。 4.项目规划 (1)项目开发计划 项目开发计划涉及的内容包括: ?开发团队的组织结构人员组成与分工。 ?项目成本预算 ?项目对硬件、软件的资源需求。 ?项目任务分解和每项的任务里程碑标志 ?基于里程碑的进度计划和人员配备计划。 ?项目风险計划 ?项目监督计划。 (2)项目进度表 项目进度是基于里程碑制定的可以使用进度图表来描述项目进度。甘特图表是一种常用的项目進度图表可以直观地描述项目任务的活动分解,以及活动之间的依赖关系、资源配置情况、各项活动的进展情况等 四、软件需求分析 1.需求分析任务 (1)用户需求 用户需求是用户关于软件的一系列意图、想法的集中体现,是用户关于软件的外界特征的规格表述 (2)系统需求 系统需求是比用户需求更具有技术特性的需求陈述,是提供给开发者或用户方技术人员阅读的并将作为软件开发人员设计系统的起點与基本依据。主要包括:功能、数据、性能、安全等诸多方面的需求问题 2.需求分析过程 需求分析是对软件系统的后期分析,需要进行嘚活动包括:分析用户需求、建立需求原型、分析系统需求和进行需求验证等 3.用户需求获取 (1)用户调查是最基本的用户需求信息收集方法,比较常用的调查方法包括:访谈用户、开座谈会、问卷调查、跟班作业、收集用户资料 (2)需求原型可被用来解决用户对软件系統在需求认识上的不确定性。一般情况下开发人员将软件系统中最能够被用户直接感受的那一部分东西构造成为原型。例如界面、报表或数据查询结果。 4.结构化分析建模 所谓模型就是对问题所做的一种符号抽象。可以把模型看作为一种思维工具利用这种工具可以把問题规范地表示出来。主要的分析模型包括: (1)功能层次模型它使用矩形来表示系统中的子系统或功能模块,使用树形连线结构来表達系统所具有的功能层级关系 (2)数据流模型。用于描述系统对数据的加工过程其图形符号是一些具有抽象意义的逻辑符号,主要的圖形符号包括:数据接口、数据流、数据存储和数据处理可以依靠数据流图来实现从用户需求到系统需求的过渡。结构化分析就是基于數据流的细化实现的它是结构化分析方法的关键。 (3)数据关系模型也称为ER图,是应用最广泛的数据库建模工具需要通过数据实体、数据关系和数据属性这三类图形元素建立数据关系模型。 (4)系统状态模型通过系统的外部事件、内部状态为基本元素来描绘系统的笁作流程,这种建模方式比较适合于描述一些依赖于外部事件驱动的实时系统 5.需求有效性验证 需求有效性验证是指对已经产生的需求结論所要进行的检查与评价。一般需要对需求文档草稿从有效性、一致性、完整性、现实性、可检验性等几个方面进行有效性验证比较常鼡的需求有效性验证方法与工具包括:需求评审、需求原型评价和基于CASE工具的需求一致性分析。 6.需求规格定义 需求规格说明书是需求分析階段需要交付的基本文档将成为开发者进行软件设计和用户进行软件验证的基本依据,涉及引言、术语定义、用户需求、系统体系结构、系统需求等有关软件需求及其规格的诸多描述与定义 五、软件概要设计 1.设计过程与任务 概要设计中首先需要进行的是系统构架设计,然后是软件结构、数据结构等方面的设计主要有以下几个方面的设计任务:制定规范、系统构架设计、软件结构设计、公共数据结构設计、安全性设计、故障处理设计、可维护性设计、编写文档、设计评审。 2.系统构架设计 (1)集中式结构 集中式系统由一台计算机主机囷多个终端设备组成其具有非常好的工作稳定性和安全保密性。但系统建设费用、运行费用比较高灵活性不够好,结构不便于扩充 (2)客户机/服务器结构 客户机/服务器结构依靠网络将计算任务分布到许多台不同的计算机上,但通过其中的服务器计算机提供集中式服务其优越性是结构灵活、便于系统逐步扩充。 (3)多层客户机/服务器结构 ?两层结构:将信息表示与应用逻辑处理都放在了客户机上服務器只需要管理数据库事务。 ?三层结构:将两层结构的客户机上的容易发生变化的应用逻辑部分提取出来并放到一个专门的“应用服務器”上。 ?B/S结构:是Web技术与客户机/服务器结构的结合其优点是不需要对客户机进行专门的维护。 (4)组件对象 分布式结构通过组件进荇计算分布它依赖于对象中间件建立,具有灵活的构架系统伸缩性好,能够给系统的功能调整与扩充带来便利 3.软件结构设计 软件結构设计是对组成系统的各个子系统的进一步分解与规划。主要设计内容有:确定模块元素、定义模块功能、定义模块接口、确定模块调鼡与返回、进行结构优化 (1)模块概念 ?模块化:使用构造程序,可使软件问题简化 ?抽象化:概要设计中的模块被看成是一个抽象囮的功能黑盒子。 ?信息隐蔽:每个模块的内部实现细节对于其他模块来说是隐蔽的 (2)模块的独立性 软件系统中每个模块都只涉及自巳特定的子功能,并且接口简单与软件中其他模块没有过多的联系。一般采用耦合和内聚这两个定性的技术指标进行度量 耦合用来反映模块相互关联程度,模块间连接越紧密耦合性就越高。内聚用来反映模块内元素的结合程度模块内元素结合越紧密,则内聚性就越高为提高模块独立性,要求模块高内聚、低耦合 耦合形式由低至高是:非直接耦合、数据耦合、控制耦合、公共耦合、内容耦合。 内聚形式由低至高是:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚 (3)设计建模 ?软件结构图:由Yourdon于20世紀70年代提出,被广泛应用于软件结构设计中能够有效说明软件中模块之间的调用与通信。 ?HIPO图:由美国IBM公司推出其中,H图用于描述软件的分层调用关系作用类似软 件结构图,IPO图用于说明描述模块的输入—处理—输出特征 (4)软件结构优化 主要优化设计原则有:使模塊功能完整、使模块大小适中、使模块功能可预测、尽量降低模块接口的复杂程度、使模块作用范围限制在其控制范围之内、模块布局合悝。 4.面向数据流的结构设计 (1)变换分析 软件结构由输入、变换和输出三个部分组成 (2)事务分析 软件结构由接收事务与事务活动两個部分组成。 (3)混合流分析与设计 软件系统是变换流与事务流的混合对于这样的系统,通常采用变换分析为主、事务分析为辅的方式進行软件结构设计5.数据库结构设计 (1)逻辑结构设计 ?设计数据表 ?规范数据表 ?关联数据表 ?设计数据视图 (2)物理结构设计 ?数据存储结构 ?数据索引与聚集 ?数据完整性 六、面向对象分析与设计 1.面向对象方法学 面向对象技术涉及面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程实现(OOP)这三个方面的问题。 (1)基本概念 ?类:面向对象模块单位作用是为创建对象实例提供模板。其具有数据與行为这两个方面的特征并需要通过属性、操作和方法进行描述。 ?属性、操作与方法:类具有数据与行为这两个方面的特征并需要通过属性、操作和方法进行描述。 ?类的继承性:指上级父类能够把自己的属性、操作传递给下级子类 ?类的多态性:子类对象可以像父类对象那样使用,它们可以共享一个操作名然而却有不同的实现方法。 ?对象:对象是类模块实例化的结果 ?消息:指对象之间的通信。 (2)优越性 ?跟现实世界更加接近 ?可使软件系统结构更加稳定 ?软件具有更好的可重用性 ?软件更加便于维护与扩充 2.面向对象汾析建模 面向对象分析建模需要建立的是软件系统的用户领域模型需要从系统业务流程、组织结构和行为过程等几个方面对系统进行分析。 (1)用例图 用例图涉及参入者、用例等元素用于描述用户与系统之间的交互关系,说明系统所具有的业务能力和业务流程能够方便开发者理解用户领域的专有术语和业务内容。 (2)活动图 活动图是一种行为模型主要用于描述用例图中用例的内部活动状态与活动转換过程,以获得对用例的交互行为与工作流程的细节说明涉及活动状态、活动转换等元素。 (3)分析类图 建立类图的概念模型描述体現现实世界中数据构造的实体类及其它们之间的关系。 (4)序列图 以用例图中的用例为描述单位以类图中的类为对象依据,以活动图中嘚活动转换为行为依据建立与时间顺序有关的用例中对象之间的交互模型。 3.面向对象设计建模 面向对象设计建模需要把分析阶段的结果扩展成技术解决方案需要建立的是软件系统的技术构造模型。 (1)设计类图 设计类图中的类是构造系统的基本模块单位需要在分析類图基础上进行更加完整的面向设计的描述。除了实体类设计类图中还需要考虑用于向外提供操作接口的边界类和用于实现内部协调的控制类。 (2)协作图 描述对象交互时的链接关系和基于链接而产生的消息通信及其操作接口 (3)状态图 描述一个特定对象的所有可能的狀态以及引起状态转换的事件。 (4)构件图 描述组成系统的物理构件及其它们之间的关系构件之间关系主要是依赖关系。 (5)部署图 描述系统运行时的物理架构涉及物理节点、节点之间的连接关系以及部署到各个节点上的构件的实例等。 七、用户界面设计 1.图形用户界媔(GUI)所具有的特点 (1)比较容易学习和使用 (2)用户可利用多屏幕(窗口)与系统进行交互,并可通过任务窗方便地由一个任务转换箌另一个任务 (3)可以实现快速、全屏的交互,能很快在屏幕上的任何地方进行操作 图形用户界面设计已不是设计人员能够独立解决嘚了,需要邀请图形设计人员、系统分析人员、系统设计人员、程序员、用户应用领域方面的专家和社会行为学方面的专家以及最终用户嘚共同参入 2.基于原型的用户界面设计 用户界面设计是一个迭代的过程,其基本过程包括三个步骤: (1)建立界面需求规格模型 (2)鉯界面需求模型为依据创建界面原型。 (3)评价界面原型 3.界面设计中需要考虑的因素 用户界面设计将会受诸多用户因素的影响,并主偠体现在以下几个方面: (1)用户工作环境与工作习惯 (2)用户操作定势。 (3)界面一致性 (4)界面动作感。 (5)界面信息反馈 (6)个性化。 (7)容错性 (8)审美性与可用性。 4.界面类型 在基于图形界面的应用系统中用户界面一般由若干个窗体组成,其窗体类型包括: (1)单窗体界面(SDI)其特点是应用程序一次只能打开一个独立窗体。 (2)多窗体界面(MDI)由一个MDI主窗体和多个MDI子窗体组成。其ΦMDI主窗体如同容器用来装载MDI子窗体而MDI子窗体则被限制于MDI主窗体之内,不能独立存在诸多公共操作都被放置在MDI主窗体上。 (3)辅助窗体通常也叫做对话框,它是对主窗体的补充用于扩展主窗体的功能。辅助窗体的种类主要有:登录窗、消息窗、设置窗等 (4)Web页面。當采用到基于Web的B/S结构时系统中的某个Web页面可能会被作为Web应用的进入点,则它可以作为一个特殊的主窗体看待 5.界面功能特征 在进行用戶界面设计时,需要考虑界面的功能问题大体上说来,用户界面的功能主要体现在以下方面: (1)用户交互指用户与计算机系统之间嘚信息交流。 (2)信息表示指系统提供给用户信息,信息可以采用文本形式表示也可以采用图形形式表示。 (3)用户联机支持指系統给用户提供的应用指导。 6.界面导航设计 界面导航所指的是如何由一个界面转换到另一个界面可以使用活动图来描述界面之间的转换關系,其中活动图中的每一个活动状态可用来表示系统中的每一个界面 八、程序算法设计与编码 1.结构化程序特征 结构化程序的基本特征是程序的任何位置是单入口、单出口的。因此结构化程序设计中,GOTO语句的使用受到了限制并且程序控制也要求采用结构化的控制结構,以确保程序是单入口和单出口的 2.程序算法设计工具 (1)程序流程图 程序流程图又称为程序框图,其历史悠久、应用广泛从20世纪40姩代末到70年代中期,它一直是程序算法设计的主要工具程序流程图的主要优点是能够非常直观的描述程序的控制流程。但是传统的程序流程图却是一种非结构化的程序算法设计工具。 (2)N-S图 为了满足结构化程序设计对算法设计工具的需要Nassi和Shneiderman推出了盒图,又称为N-S图它是一种严格符合结构化程序设计原则的图形描述工具。 N-S图的基本特点是通过矩形框描述模块内部程序的各个功能区域并通过由外箌内的矩形框嵌套表示程序的多层控制嵌套。 (3)PAD图 PAD是问题分析图(ProblemAnalysisDiagram)的英文缩写由日本日立公司首先推出,并得到了广泛的应用它昰符合结构化程序设计原则的图形描述工具。 PAD图的基本特点是使用二维树形结构表示程序的控制流程从上至下是程序进程方向,从左至祐是程序控制嵌套关系 (4)PDL语言 PDL语言也称为伪码,或过程设计语言它一般是某种高级语言稍加改造后的产物,可以使用普通的正文编輯软件或文字处理系统进行PDL的书写和编辑 PDL语言的语法规则分外部语法和内部语法。其中外部语法用于定义程序中的控制结构和数据结構,内部语法则用于表示程序中的加工计算或条件 (5)判定表 判定表是算法设计辅助工具,专门用于对复杂的条件组合关系及其对应的動作行为等给出更加清晰的说明能够简洁而又无歧义地描述涉及条件判断的处理规则。 3.Jackson程序设计方法 1983年法国科学家Jackson提出了一种以软件Φ的数据结构为基本依据的程序算法设计方法在以数据处理为主要内容的信息系统开发中,具有一定的应用价值 Jackson程序设计方法的基本設计途径是通过分析输入数据与输出数据的层次结构,由此对程序算法的层次结构进行推论 为了方便由数据结构映射出程序结构,Jackson将软件系统中所遇到的数据分为顺序、选择和重复三种结构并使用图形方式加以表示。Jackson程序结构也是顺序、选择和重复这三种结构并可以使用与数据结构相同的图形符号表示。 4.程序编码 在完成程序算法设计之后接着需要编码。 (1)编程语言种类 ?低级语言:包括第一代機器语言与汇编语言它们是直接面向机器的语言。 ?高级语言:指面向问题求解过程的语言使用了与人的思维体系更加接近的概念和苻号,一般不依赖于实现这种语言的计算机具有较好的可移植性。 ?第四代语言(4GL):指一些面向问题的高级语言第四代语言是在更高一级抽象的层次上表示数据与猜想结构,它不需要规定程序算法细节 (2)选择编程语言的依据 在对软件系统进行编码之前,必须抉择使用什么样的程序设计语言实现这个软件系统在选择编程语言时往往需要考虑诸多方面的因素,例如软件项目的应用领域、软件问题的算法复杂性、软件的工作环境、软件在性能上的需要、软件中数据结构的复杂性、软件开发人员的知识水平和心理因素等 (3)编程风格與质量 编程风格是编写程序时需要遵守的一些规则。在衡量程序质量时源程序代码的逻辑简明清晰、易读易懂是一个重要因素,而这些嘟与编程风格有着直接的关系 (4)影响程序工作效率的因素 一般说来,程序工作效率会受到处理器计算速度、存储器存储容量和输入输絀速度等几个方面因素的影响并与程序设计语言、操作系统、硬件环境等有着直接关系。因此在考虑程序工作效率时,需要将诸多因素综合起来分析 5.程序算法复杂性度量 程序算法复杂性主要指模块内程序的复杂性。比较著名的程序算法复杂性度量方法是McCabe度量法其對程序复杂性的度量采用的是程序的环形复杂度,计算公式是: V(G)=m–n+p 其中V(G)是程序有向图G中的环数,m是程序有向图G中的弧数n是程序有向图G中的节点数,p是程序有向图G中分离部分的数目 九、软件测试 1.测试目标 尽力发现软件中的错误,而不是为了验证软件的正确性 2.测试方法 (1)黑盒测试:基于程序的外部功能规格而进行的测试,又称为功能测试 (2)白盒测试:基于程序的内部结构与处理过程洏进行的测试,又称为结构测试 3.单元测试 单元测试的对象是单元模块,一般以白盒测试为主以黑盒测试为辅。测试内容包括模块接ロ测试、局部数据结构测试、路径测试、错误处理测试、边界测试 单元测试通常在编码阶段进行。测试时需要用到辅助模块如驱动模塊、桩模块。 4.集成测试 系统集成时主要有非渐增组装测试和渐增组装测试这两种方法: (1)非渐增组装测试:一种一次性地进行系统组裝的方法 (2)渐增组装测试:一种将单元模块的确认测试与集成测试结合在一起的测试方法,它比非渐增组装测试是具有更大的优越性可以自顶向下渐增集成,也可以自底向上渐增集成5.确认测试 确认测试又称有效性测试,其任务是验证软件的功能、性能及其他特性昰否与用户的要求一致在进行确认测试时,可以采用Alpha测试或Beta测试其中,Alpha测试是在开发环境下由用户进行的测试而Beta测试则是由软件用戶在软件实际使用环境下进行的测试。 6.测试用例设计 设计测试用例就是为测试准备测试数据由于测试用例不同,发现程序错误的能力吔就不同为了提高测试效率降低测试成本,应该选用高效的测试用例 白盒测试用例设计主要采用逻辑覆盖,包括语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖和路径覆盖 黑盒测试用例设计包括等价划分、边界值分析和错误推测等几种方法。 7.面向對象测试 (1)面向对象单元测试 不能孤立地测试单个操作而应该把操作作为类的一部分来测试。 (2)面向对象集成测试 ?基于线程的测試 ?基于使用的测试。 (3)面向对象确认测试 研究系统的用例模型和活动模型设计出确认测试时的用户操作脚本。 8.软件调试 软件调試也叫做排错涉及诊断与排错这两个步骤。但调试的关键是诊断 常用的调试方法有:输出存储器内容、在程序中插入输出语句、使用洎动调式工具。 常用的调试策略有:试探法、回溯法、对分查找法、归纳法、演绎法 9.自动测试工具 常用的自动测试工具有:测试数据苼成程序、动态分析程序、静态分析程序、模块测试、程序。 10.软件可靠性评估 软件可靠性的定义是:程序在给定的时间间隔内按照规格说明书的规定成功地运行的概率。 软件可用性的定义是:程序在给定的时间点按照规格说明书的规定,成功地运行的概率为了方便鈳用性的计算,一般使用稳态可用性对系统进行可用性评价 系统平均无故障时间的估算式是:MTTF=1/(K(ET/IT–Ec(t)/IT)) 十、软件维护 1.软件维护定义 软件維护是在软件运行维护阶段,为了改正软件错误或为了满足用户新的应用需要而对软件进行改错、变更或进化的过程。 维护任务一般分為:改正性维护、适应性维护、完善性维护和预防性维护 2.影响软件维护工作的因素 主要因素有:系统大小、程序设计语言、系统文档囷系统年龄等。 3.非结构化维护 没有按照软件工程原则实施软件开发以致和软件配套的一系列文档没有建立起来,保留下来的可能只有源程序 4.结构化维护 建立在严格按照软件工程原则实施软件开发基础上,因此各个阶段的文档完整能够比较全面地说明软件的功能、性能、软件结构、数据结构、系统接口和设计约束等。 5.软件维护的代价 软件维护代价包括有形与无形这两个方面的代价其中,有形代價是指软件维护的直接费用支出无形代价则指其他非直接的维护代价。 6.软件可维护性 软件可维护性是指维护人员理解、改正、改动和妀进这个软件的难易程度 可以从系统的可理解性、可靠性、可测试性、可修改性、可移植性、运行效率和可使用性这七个方面对软件的鈳维护性进行综合评估。 7.软件维护的实施 软件维护实施过程中一般涉及以下几个问题:维护机构、维护申请报告、软件维护工作流程、维护记录和维护评价。 8.对老化系统的维护 老化系统是指一些使用早期程序设计语言开发的系统为了能够有效地对老化系统进维 护,Yourdon提出了以下的几点维护建议: (1)尽可能得到更多的背景信息 (2)力图熟悉程序的所有控制流程。 (3)评价现有文档的可用性 (4)充汾利用交叉引用信息。 (5)必须非常谨慎地对程序进行修改 (6)在删除某些代码时,要确认代码确实不再使用 (7)不要试图共享程序巳有的临时变量或工作区。 (8)保持详细的维护活动和维护结果记录 (9)如果程序结构混乱,修改受到干扰可抛弃程序重新编写。 (10)插入出错检验 9.逆向工程与再工程 逆向工程是通过源程序,甚至是目标程序由此导出设计模型、分析模型的过程。可以把逆向工程描述为一个魔术管道从管道一端流入的是一些非结构化的无文档的源代码或目标代码,而从管道另一端流出的则是计算机软件的分析、設计文档 逆向工程被用到了软件维护上,通过从老化系统的源代码中提取程序流程设计、系统结构设计甚至是数据流图,给老化系统嘚维护带来方便 当逆向工程被用于重新构造或重新生成老化系统时,这个过程就叫做再工程再工程不仅能从已存在的程序中重新获得設计信息,而且还能使用这些信息来改建或重建现有的系统 10.软件配置管理 配置管理包括软件配置标识、软件变更控制和软件版本控制等方面的内容。 当对软件进行维护时软件产品发生了变化,这一系列的改变必须在软件配置中体现出来,以防止因为维护所产生的变哽给软件带来混乱

软件设计师考试真题 附带2010年的考试大纲 考试科目1:计算机与软件工程知识  1.计算机科学基础   1.1 数制及其转换      ? 二进制、十进制和十六进制等常用制数制及其相互转换   1.2 数据的表示      ? 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示精度和溢出)      ? 非数值表示(字符和汉字表示、声音表示、图像表示)      ? 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)   1.3 算术运算和逻辑运算      ? 逻辑代数的基本運算和逻辑表达式的化简   1.4 数学基础知识      ? 命题逻辑、谓词逻辑、形式逻辑的基础知识      ? 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分)      ? 排列组合、概率论应用、应用统计(数据的统计分析)      ? 运算基本方法(预测与决策、线性规划、网络图、模拟)   1.5 常用数据结构      ? 数组(静态数组、动态数组)、线性表、链表(单向鏈表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作      ? Hash(存储地址计算,冲突处理)   1.6 常用算法      ? 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法      ? 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性  2.计算机系统知识   2.1 硬件知识    2.1.1 计算机系统的组成、体系结构分类及特性      ? CPU和存储器的组成、性能和基本工作原理

【摘要】:正 传统逻辑中,根据直訁命题的对当关系进行的直接推理,是演绎推理演绎推理的特点就在于从真前提必然过渡到真结论。所谓从SAP真可推知SEP假等等推理,实质上还昰从真到真的推理根据对当关系进行的直接推理,不仅仅涉及命题的量项,而且还涉及命题联结词“并非”。

支持CAJ、PDF文件格式仅支持PDF格式


朱珏华;[J];西南民族学院学报(哲学社会科学版);2002年S4期
王爱;[J];山西高等学校社会科学学报;2002年02期
曹飞;[J];河南师范大学学报(哲学社会科学版);1991年04期
王源生;;[J];湘潭師范学院学报(社会科学版);2007年06期
刘本学;;[J];赤峰学院学报(汉文哲学社会科学版);2008年03期
刘胜;;[J];黄石教师进修学院学报;1986年01期
敬世炯;;[J];西南师范大学学报(人文社会科学版);1987年S1期
中国重要会议论文全文数据库
吴坚;;[A];逻辑教学·知识创新·素质教育研讨会论文集[C];2001年

1: 微博:媒体:消息

A、股票:有價证券:金融

3: 仲裁是指争议双方在争议发生前或争议发生后达成协议自愿将争议交给第二者作出裁决,双方有义务执行的一种解决争議的方法平等主体的公民、法人和其他组织之间发生的合同纠纷和其他财产权益纠纷,可以仲裁下列纠纷都不能仲裁:婚姻、收养、監护、抚养、继承纠纷;依法应当由行政机关处理的行政争议。 下列纠纷中可以适用于仲裁的是(  )。

A、蔡某与其丈夫刘某因离婚時的财产分配及其子女监护权归属发生的纠纷

B、某集团与集体经济组织因土地承包合同发生的纠纷

C、某商贸有限公司与某物流公司因履行貨物运输合同产生的纠纷

D、私营企业主郑某因不服工商行政管理部门罚款而与之产生的纠纷

C、十年树木百年树人

5:煤气灶:主妇:做饭

A、车间:工程师:生产

C、剪刀:理发师:美发

D、马路:清洁工:打扫

6:从所给的四个选项中,选择最合适的一个填入问号处使之呈现一萣的规律性:"

7: 绿色消费:指从满足生态需要出发,以有益健康和保护环境为基本内涵符合人的健康和环境保护标准的各种消费行为和消费方式的统称。 下列不属于绿色消费的是(  )

8:某人说:“不可能所有的人都会投他的赞成票。”与以上判断的意思最相近的是(  )

A、可能所有的人都会投他的赞成票

B、可能所有的人都不会投他的赞成票

C、必然所有的人都会投他的赞成票

D、必然有的人不会投怹的赞成票

10: 甲与乙订立买卖合同,关于甲与乙之间的债权债务关系说法正确的是(  )

11:(  )对于日食相当于泥石流对于(  )

12: 德国和瑞士的专家经过研究得出一个有趣的结论:餐具颜色能直接影响食欲,红色餐具可降低人们40%的食量在人们的传统观念中,紅色是极具进攻性的色彩用红色餐具盛放食物往往会让人难以下咽,因为在潜意识中人们会给自己发出不能吃红色餐具中食物的心理暗礻从而令食欲下降。 如果以下各项为真最能质疑上述论断的是:

A、快餐巨头常在大堂中使用大片鲜亮的红色图案,并没有影响快餐销量

B、红色易使人产生紧张感暴饮暴食是人在紧张时放松自己的一种方式

C、C试验表明,使用红色水杯者比使用蓝色水杯者平均饮水量要减尐44%

D、红色预示着不安和担忧人们看到红色餐具会本能地担心食物有危险

13:演唱会必须如期举行,除非明天下雨或者是演唱会门票卖得很尐只有演唱会取消,才会退还已经买票的观众全部的购票现金结果有购买了门票的观众顺利退票,并得到了全部的购票现金如果以仩论述是正确的,那么下列哪个也一定是正确的?

A、要么演唱会的门票卖得很少要么演唱会当天下雨

B、要么演唱会当天没有下雨,要么演唱会门票卖得很少

C、如果演唱会当天没有下雨那么演唱会的门票一定卖得很少

D、如果演唱会当天下雨了,那么演唱会的门票一定卖得并鈈少

14: 时尚:社区:白领

15:售货员:顾客:销售

16:一位博士生导师说:现在的博士生论文语句越来越难读懂,本届学生交给我的博士生論文都写得很差句子不通,还有不少错别字下列哪一个选项最能削弱这位大学博导的论证?

A、上述论证没有证明博士生导师能够判断博壵生的写作水平

B、这位博导的学生水平是否能够代表所有博士生的水平尚需得到证实

C、上文的论证并没有排除这位博士生导师不是一个好咾师的可能性

D、在上文论述中没有提供反面的论点

17: 从四个选项选择最合适的一个填入问号处,使之呈现一定的规律性(  )

18: 为降低企业工资成本,顺利度过金融危机长城钢厂计划裁减一部分员工。经厂董 事会讨论决定率先裁减的都是那些工作效率较为低下的员笁,而不是像有些企业那样根据工龄长短进行裁员。长城钢厂的这个决定最应具备下列哪项前提?(  )

A、每个员工的工作效率是不同嘚

B、工作效率低下的员工就不是好员工

C、有能够评判员工工作效率高低的可行方法

D、每一个员工尤其是那些技术工人,都会有自己的一技之长

20: 奢侈吸收指的是作物吸收的养分超过其正常需要量的现象奢侈吸收不仅浪费肥料.还可能导致减产。 根据上述定义以下哪项涉及奢侈吸收?

A、小庄养的花因浇水过多被淹死了

B、小麦氮肥施用量过大导致倒伏

C、同样的土质.但是塑料大棚中的作物明显长得更高

D、即使在西瓜地中大量使用磷肥。西瓜也不会增产多少

21: ①撰写调研报告②开展调查研究③制定调研计划④明确调研目的⑤接受调研任务

23: 从所给的四个选项中选择最合适的一个填入问号处,使之呈现一定的规律

26:组织结构设计是指建立或改造一个组织的过程中对组织活动囷组织结构的设计和再设计,是把任务、流程、权力和责任进行有效的组合和协调的活动 根据上述定义,下列属于组织结构设计的是(  )

A、某集团因为经济危机进行大规模裁员

B、某公司研发小组最近更名为研发中心

C、国务院第六次机构改革即大部制改革

D、某火锅店擴张后连锁店数量增了一倍

27: 基因工程是指将DNA在体外或体内进行重新组合。然后把重组后的DNA分子转移进我们操作的生命体 根据上述定义,下列表述错误的是(  )

A、基因工程是DNA分子的整合

B、基因工程是一项生物技术工程

C、基因工程是为了改变生命体的某些遗传特征

D、基因工程不具危害性

28:从所给的四个选项中,选择最合适的一个填入问号处使之呈现一定的规律性。

29:无条件反射是动物和人生下来就具有的在系统发育过程中所形成而遗传下来的,对外部生活条件特有的稳定的反应方式 下列哪项符合无条件反射的定义?

A、经常吃一种叫风风品牌的狗粮的小狗闻到或看到这种狗粮就会流口水

B、幼儿园的老师总是在音乐声响起的时候让孩子跟着唱歌。有一次音乐响起老師没有让孩子们唱歌,但是孩子们却跟着唱起来

C、赛马“海洋饼干”的右侧身体小时候经常被训练师毒打所以它一见到右侧有人举起鞭孓就会发狂

D、小王外出打工,不小心丢失财物几天没有饭吃,非常饥饿的时候肚子咕咕叫而且见到食物就直咽口水

31: 从所给的四个选项Φ选择最合适的一个填入问号处,使之呈现一定的规律性

32:随着年龄的增长。人们每天对卡路里的需求量日趋减少而对维生素B6的需求量却逐渐增加。除非老年人摄入维生素B6作为补充或者吃些比他们年轻时吃的含更多维生素B6的食物。否则他们不大可能获得所需要的維生素B6。 对以下哪项问题的回答最有助于评估上述论证?

A、大多数人在年轻时的饮食所含维生素B6的量是否远超出他们当时每天所需的量?

B、強化食量中维生素B6是否比日常饮食中的维生素B6更容易被身体吸收?

C、每天需要的卡路里的量减少是否比每天需要增加的维生素B6的量更大?

D、老姩人每天未获得足够的维生素B6的后果是否比年轻人更严重?

33:重力对于流水相当于(  )对于(  )

34:请从所给的四个选项中,选择最匼适的一个填入问号处使之呈现一定的规律性(  )。"

35:某公司总裁曾经说过:“当前总裁批评我时我不喜欢那感觉.因此,我不會批评我的继任者”以下哪项最可能是该总裁上述言论的假设?

A、当遇到该总裁的批评时.他的继任者和他的感觉不完全一致

B、只有该总裁的继任者喜欢被批评的感觉.他才会批评继任者

C、如果总裁喜欢被批评.那么前任总裁的批评也不例外

D、该总裁不喜欢批评他的继任者.但喜欢批评其他人

36: 社会事实指的是存在于社会之中的一类具有非常特殊性质的事实。这类事实存在于个人之身外由具有使个人不能鈈服从的行为方式、思维方式和感觉方式构成,对于个人的行为具有约束力和强制性它潜移默化地存在于人们的日常生活之中,个人如果触犯它就会受到惩罚 根据上述定义,下列哪项不涉及社会事实?

C、王子犯法与庶民同罪

37:越级上访:是指信访人越过依法有权处理的夲级和上一级机关,到更高机关走访的行为 根据以上定义,下列属于越级上访的是:

A、村民甲为反映村委会干部侵吞村民集团财产问题向省委、省

、国家民政部等有关部门发出了几十封举报信

B、乙认为本县县长有严重违纪行为,专程到省纪律检查委员会和监察厅呈送有關举报材料并当面向接待人员反映问题

C、某地村委会换届选举中贿选情况严重丙收集一些典型材料亲自到省党报群工部反映情况,并请求派记者前往调查

为反映本校在教师职称初评申报中的不公平问题到省教育厅和省人事厅反映情况,要求调查处理

38:拥挤的居住条件所導致的市民健康状况明显下降是清城面临的重大问题。因为清城和广川两个城市的面积和人口相当所以,清城所面临的上述问题必定會在广川出现 以下哪项最为恰当地指出了上述论证的漏洞?

A、不当地预设:拥挤的居住条件是导致市民健康状况下降的唯一原因

B、未能准確区分人口数量和人口密度这两个概念

C、忽略了相同的人口密度可以有不同的居住条件

D、未能恰当地选择第三个比较对象以增强结论的说垺力

39:李赫,张岚林宏,何柏邱辉,5位同事近日他们各自买了一台不同品牌小轿车分别为雪铁龙,奥迪宝马,奔驰桑塔纳。这伍辆车的颜色分别与5人名字最后一个字谐音的颜色不同已知,李赫买的是蓝色的雪铁龙以下哪项排列可能依次对应张岚,林宏何柏,邱辉所买的车?

A、灰色奥迪、白色宝马、黑色奔驰、红色桑塔纳

B、黑色奥迪、红色宝马、灰色奔驰、白色桑塔纳

C、红色奥迪、灰色宝马、皛色奔驰、黑色桑塔纳

D、白色奥迪、黑色宝马、红色奔驰、灰色桑塔纳

40:有偿行为是行为人双方须为对价的行为。所谓对价是指一方為换取对方提供利益而付出代价。 根据定义下列不属于有偿行为的是(  )。

1:答案B 解析 微博是一种媒体可用来发布消息;护照是┅种证件,可用来证明身份 2:答案D 解析 从每行来看,后两个图形的小图形重新组合可得到第一个图形3:答案C 解析 根据题干对仲裁的定義可知,A项属于婚姻纠纷不能仲裁,故排除;D项属于依法应当由行政机关处理的行政争议排除;根据《仲裁法》第七十七条规定:“勞动争议和农业集体经济组织内部的农业承包合同纠纷的仲裁,另行规定”因此,B项也不适用于仲裁故选C。 4:答案A 解析 题于的含义是:人贪心不足就像蛇想吞食大象一样。即“蛇吞象”比喻“人心不足”A项“猪怕壮”比喻“人怕出名”。5:答案C 解析 主妇用煤气灶做飯理发师用剪刀美发。6:答案A 解析 题干图形的曲线数依次是1、2、3、4选项中只有图形A有5条曲线。7:答案C 解析 C项砍伐树木对生态有害,與绿色消费的出发点背道而驰故选C。 8:答案D 解析 “不可能所有的人都会投他的赞成票”即“肯定有人不投他的赞成票”即D项。9:答案B 解析 第一行图形的封闭区域数为3第二行图形的封闭区域数为6,第三行前两个图形的封闭区域数为9应选择一个封闭区域数为9的图形,选項中只有B符合10:答案B,C,D 解析 (1)合同是基于当事人意志建立起来的交易关系(无偿合同除外),因此B项正确排除A项。(2)买卖合同不要求标的物之交付作为合同成立或生效的条件因此属于诺成合同,故肯定C项(3)相对性是指,债只对特定的当事人发生效力合同之债与其他债一样,具囿相对性甲、乙之间的买卖合同,只在甲、乙之间发生效力并不及于第三人。故肯定D项 11:答案D 解析 流星雨和日食都是一种天文现象,泥石流和地震都是一种地质灾害C项目全食是Et食的一种,但泥石流和洪水不具备这种关系12:答案B 解析 削弱型。题目论断是:餐具颜色影响食欲进一步具体为红色会降低食欲。A项探讨的是餐厅大堂不是餐具,属于无关项B项言下之意是红色可能导致食欲增加,能够质疑C、D两个选项有加强的意味,不能削弱 13:答案C 解析 考查复言命题推理。题干包含两个假言命题“演唱会必须如期举行,除非明天下雨或者是演唱会门票卖得很少”等值于“只有明天下雨或者是演唱会门票卖得很少演唱会才会取消”,与第二个假言命题可组成一个连鎖推理:退还已经买票的观众全部的购票现金―演唱会取消―明天下雨或者是演唱会门票卖得很少由题干已知“有购买了门票的观众顺利退票,并得到了全部的购票现金”肯定前件则肯定后件,可推出“演唱会当天下雨或者是演唱会门票卖得很少”该命题等价于“如果演唱会当天没有下雨,那么演唱会的门票一定卖得很少”故答案选C。14:答案D 解析 时尚的白领社区健康的生活态度。A项是动宾关系C項顺序与题干不一致。故答案选D 15:答案D 解析 售货员销售的对象是顾客,演员表演的对象是观众C项交警指挥的对象不仅有司机,还有行囚和自行车等16:答案B 解析 削弱型题目。题干博导由“自己学生的博士生论文句子不通还有不少错别字”得出结论“现在博士生的论文語句越来越难读懂”。B项指出这位博导的学生并不能代表所有的博士生指出了论据和结论之间是没有联系的,从而削弱了这位博导的结論A项说明博导不能判断博士生的写作水平只是一种可能,削弱程度有限:C项的“好老师”和D项的“反面论点”与博士生的论文水平无关故答案选B。17:答案C 解析 观察左边的一组图形第三个和第四条图形,黑色三角形关于斜线相对应因此第一二两个图形也是如此。故选C 18:答案C 解析 此题为前提预设型题目,题干提出为降低成本要先裁减工作效率低下的员工因此,C项中“有能够评判员工工作效率高低的鈳行方法”是必须假设的否则题干中“厂董事会”决定无法执行;D项与题目无关,A、B两项并不与措施的执行直接相关故选C。 19:答案A 解析 20:答案B 解析 奢侈吸收的定义要点是“作物吸收的养分超过其正常需要量”.只有B符合定义A项中的水并非养分,C项为无关项D项并未体現超过正常量。故答案选B 21:答案C 解析 “接受调研任务”是整个调研活动的前提,因此⑤应居首位;明确目的后才能有针对性地制定计划故④在③前;“撰写调研报告”是整个调研活动的结束,因此①应排末位故选C。 22:答案A 解析 题干图形中都有4个向上的三角形和5个向下嘚三角形选项中只有A符合这一特征。23:答案D 解析 24:答案B 解析 题干中字母排序按照英文字母顺序分别间隔1个、2个、3个、4个,所以J后面的昰O (本解析由王雪芹提供)25:答案A 解析 解析:前两个图形叠加去掉有阴影的部分得到第三个图形。26:答案C 解析 A项的裁员、B项的更名、D项的扩張连锁店都不是对组织活动和组织结构的设计和再设计因此不符合定义。C项国务院实行大部制改革是对组织活动和组织结构的设计和洅设计。故答案为C27:答案D 解析 A项可由题干定义推出,B、C、D项需结合常识来判断D项错误,基因工程具有危害性如基因工程细菌会影响汢壤生物,导致植物死亡等等 28:答案C 解析 数量换算问题。1个“? ”=3个“←”1个“→”=2个“←”,换算后图形中均含有9个“←”选项中呮有C符合。 29:答案D 解析 无条件反射的定义关键点是:先天具有的A、B、C项中形成的动作是后天在各种刺激下而形成,属于条件反射D项“餓了肚子咕咕叫”属于无条件反射。30:答案B 解析 ①③④均由直线和曲线构成②⑤⑥只由直线构成。 31:答案C 解析 从整体上很容易看出题于圖形的对称性且奇数项图形均为直线图形,不构成封闭区域进而发现偶数项图形均构成封闭区域符合以上特征的图形是C。32:答案A 解析 題干中由“随着年龄的增长人们对卡路里的需求量日趋减少而对维生素B6的需求量逐渐增加”得出结论“除非老年人摄入维生素B6作为补充。或者吃比年轻时含更多维生素B6的食物否则他们不可能获得所需要的维生素B6”。A选项如果回答“是”那么大多数人在年轻时的饮食所含维生素B6的量远超出他们当时每天所需的量,现在老年人可能只需要吃些和他们年轻时吃的含相同量的维生素B6的食物即可是对论证的削弱;如果回答“否”,则是对论证的加强因为大多数人年轻时饮食中所含维生素B6不是远超出他们每天需要的量,因此当年老需求量增大時需要额外补充。可见A项是有助于上述论证评估的 而选项B、C、D无论肯定或否定回答都对题干论证没有影响。33:答案D 解析 流水产生的原洇是重力彩虹产生的原因是光的折射。34:答案C 解析 此题考查线条数以行、列或者对角线为单位,每行、每列或者对角线上各闺线条数の和均为15据此可知答案为C。35:答案B 解析 由题干某公司总裁的话可以推知.该总裁认为下任总裁和自己的感觉是一样的即当被前总裁批評时,都不喜欢那感觉即该总裁的话可以理解为:如果下任总裁不喜欢被批评的感觉,我不会批评我的继任者即等值于B项,所以B项是必须的假设 36:答案B 解析 社会事实的定义要点是:存在于个人之身外,使个人不能不服从A、C、D三项都符合,B项“先天下之忧而忧”只是┅些人的理想不是所有人都要服从的,不符合定义37:答案D 解析 越级上访的定义要点是:①越过本级和上一级机关;②到更高机关走访。A项只是信访不符合②;B项省级属于县级的上一级机关,不符合①;C项省党报群工部不是机关不符合②;只有D项符合越级上访的定义。38:答案C 解析 解析:评价型题目由“清城和广川两个城市的面积和人口相当”,说明两市的人口密度相当而题干结论的前提是广川和清城有同样拥挤的居住条件。事实上人口密度相当不代表居住条件相当,题干错误地将两者等同C项恰当地指出了论证的漏洞。39:答案A 解析 解析:分析推理类题目此题的突破口是“这五辆车的颜色分别与5人名字最后一个字谐音的颜色不同”,由这句话结合排除法可推出囸确答案张岚的“岚”谐音是蓝色,所以张岚的车不是蓝色的;林宏的“宏”谐音是红色所以林宏的车不是红色的,排除B项;何柏的“柏”谐音是白色所以何柏的车不是白色的,排除C项;邱辉的“辉”谐音是灰色所以邱辉的车不是灰色的,排除D项只有A项符合。40:答案B 解析 赠与合同中接受赠与的一方不须付出代价,不符合定义故答案选B。

  1:行政复议是指公民、法人或者其他组织不服行政主体作絀的具体行政行为认为行政主体的具体行政行为侵犯了其合法权益,依法向法定的行政复议机关提出复议申请行政复议机关依法对该具体行政行为进行合法性、适当性审查,并作出行政复议决定的行政行为是公民,法人或其他组织通过行政救济途径解决行政争议的一種方法根据上述定义,下列选项中不属于行政复议的是(  )
A、刘某向财政局申请公开某官员工资的申请被正式回绝,刘某不服姠其上级机关要求重新审议此申请
B、谢某向某市建委申请公开某楼宇项目的设计、施工、监理单位,市建委发函拒绝谢某向省建委请求駁回市建委的决议
C、王某对法院对其土地承包及房屋财产所属权的终审判决不服,来到北京中央信访部门上访
D、叶某对交警李某对其做出嘚交通违规罚款不服向交警大队提出异议

2:行政监督可以分为政

  1:传说老子遇到一位年逾百岁的老翁,老翁得意地说:“我从年少到现茬一直是游手好闲地轻松度日。我的同龄人辛苦一生却早已作古现在我是否可以嘲笑他们忙碌一生,只是给自己换来一个早逝的结果呢?”老子拿了一块砖头和一块石头放在老翁面前说:“如果只能选择其一您是要砖头还是要石头呢?”老翁选择了砖头,并指着石头说:“这石头没棱没角要它何用?”老子又问老翁:“是石头寿命长呢还是砖头寿命长?”老翁说:“当然是石头了。”老子笑着说:“石头寿命长您却不选择它;砖头寿命短,您却选择了它不过是有用和没用罢了,天地万物莫不如此”老翁顿然大惭。这个故事给我们的启礻是(  )
A、个体的生命终会腐朽,但精神却可以得到永存
B、个人的价值大小取决于其为社会创造的财富大小
C、生命的意义不在于长短而在于对社会的贡献
D、人除了追求生命的长度外,也要追求生命

2:如图某三角形展览馆由36个小三角形展室组成,每两个相邻展室(指有公共边的小三角形)都有门相通若某参观者不愿返回已参观过的展室(通过每个房间至多一次),那么他至多能参观多少个展室

3:正六面体的表面积增加96%,棱长增加多少()

5:某集团有A和B两个公司A公司全年的销售任务是B公司的1.2倍,前三季度B

  1:中国古代有避讳制度要避免使用本王朝帝王的名字,遇有相同的字时必须改用其他字。下列各项属于这种情况的是( )
A、汉初改“相邦”为“相国”
B、唐初改“内史省”为“中书省”
C、北宋初改“昌南镇”为“景德镇”
D、明初改“大都”为“北平”

2:中国对待西方文化的态度具有某种程度的暖昧性和矛盾性,对物质文化和科技文化一般比较乐于接受而一旦涉及到精神文化层面时则常常比较踌躇,甚至是内在抵制这構成中西文化互动的复杂性。物质文化和科技文化具有直接改善和提高人们生活水平的功能同时和增强国力密不可分,而且科技文化又昰一种带有普遍意义的文化与人文文化的民族性和特殊性有极大不同。下列选项符合文意的一项是(  )


A、中国对西方文化在精神层面較易接受
B、中国对西方文化的物质层面常常比第6篇

2:从1开始的自然数在正方形网格内按如图所示规律排列,第1个转弯数是2第2个转弯数是3,第3个转弯数是5第4个转弯数是7,第5个转弯数是10……则第22个转弯数是()

3:职业素质是指劳动者在一定的生理和心理条件的基础上,通過教育、劳动实践和自我修养等途径而形成和发展起来的在职业活动中发挥重要作用的内在基本品质。根据以上定义下列不属于职业素质的是(  )。


A、声乐演唱家所具有的不同于一般人的生理遗传因素
B、作家对生活敏锐的感觉力和较强的语言表达能力
C、画家所具有嘚不同于一般人的颜色辨别能力和空间想象能

我要回帖

更多关于 如何判断一个推理是否有效 的文章

 

随机推荐