软件工程简答题及答案

软件工程简答题及答案
软件工程简答题及答案

软件工程试题整理_ 简答题

1、可行性研究的任务是什么?

首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建

立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何

侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?

一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。

一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽

量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?

非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和

集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而

渐增式测试往往把单元测试与集成测试和在一起,同时完成。㈡非渐增式需要更多的工作量,

因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模

块,因此工作量较少。㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发

现。㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错

误推迟到最后,很难判断是哪一部分接口出错。㈤渐增式比较彻底,已测试的模块和新的模

块再测试。㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时

间。㈦非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐

增式测试有以下两种不同的组装模块的方法:㈠自顶向下组合。该方法只需编写桩模块,其

步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模

块都结合起来,它又有两种组合策略:①深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合

其它需要优先考虑的路径。②宽度有先策略:逐层结合直接下属的所有模块。㈡自低向上结合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的族。②为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。③对模块族进

行测试。④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。

⑤重复②至④步,直至软件系统全部测试完毕。

4、软件质量与软件质量保证的含义是什么?

从实际应用来说,软件质量定义为:㈠与所确定的功能和性能需求的一致性。㈡与所成文的开发标准一致性。㈢与所有专业开发的软件所期望的隐含特性的一致性。软件质量保证

就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的

质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

5、软件工程标准化的意义是什么?都有哪些软件工程标准?积极推进软件工程标准化,其道理是显而易见的。仅就一个软件开发项目来说,有许多层次,不同分工的人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在许多联系和衔接问题。如何把这些错综

复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后

完成是时,需要进行阶段评价和验收测试。投入运行的软件,其维护工作中遇到问题又与开

发工作者有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都

要要求提供统一的行动规范和衡量准则,使得各种工作都有章可循。软件工程的标准主要有

以下三个:㈠FIPS135是美国国家标准局发布的《软件文档管理指南》㈡NSAC ―― 39是美国核子安全分析中心发布的《安全参数显示系统的验证与确认》。㈢ISO5807是国际标准化

组织公布(现已成为中国的国家标准)的《信息处理一数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定》。

5、需求分析阶段的基本任务是什么?

需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统

必须“做什么”的问题。本阶段要进行以下几方面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。㈡分析与综合,导出软件的逻辑

模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的

构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。

7、说明动态建模的过程。

㈠准备脚本。

动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法

的执行,算法是实现模型的一部分。

㈡确定事件。

确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。

㈢准备事件跟踪表。

把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。

㈣构造状态图。

对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中

一条路径。

8、软件生产经历了几个阶段?各有何特征?

软件生产至今已经历了三个阶段:㈠程序设计时代(1946-1956):这个阶段的生产方式是个

体手工劳动,使用的工具实际其语言、汇编语言。开发方法是追求编程技巧,追求程序运行

效率。硬件特征是价格贵、存储容量小,运行可靠性差。软件特征是只有程序、程序设计概念,不重视程序设计方法。㈡程序系统时代(1956-1968):这个阶段的生产方式是作坊式的

小集团合作生产,生产工具是高级语言,开发方法仍就靠个人技巧,但开始提出结构化方法。硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导致软件危机的产生。㈢软件工程时代(1968至今):这个阶段的生产方式是工程化的生产,

使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。

5、简述Gantt图的功能及不足。

Gantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排,动态反映软件开发进度情况,该图可以:表示任务分解成子任务情况;表示每个任务的开始时间和完

成时间,线段的长度表示子任务完成所需要的时间;表示子任务之间的并行和串行关系。

Gantt图只能表示任务之间的并行与串行的关系,难以反映多个任务之间存在的复杂关系,

不能直观表示任务之间相互依赖制约关系,以及哪些任务是关键字任务等信息,因此仅仅用Gantt图作为进度的安排是不够的。

6、什么是数据字典?其作用是什么?它有哪些条目?

数据字典(简称DD是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要

把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、

数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。

7、调试的目的是什么?调试有哪些技术手段?

调试的目的是确定错误的原因和位置,并改正错误,因此调试也成为纠错。调试技术主要有:

简单的调试方法,主要有在程序中插入打印语句、运行部分程序等;归纳法调试,他从测试

结果发现的线索(错误迹象、征兆)入手、分析他们之间的联系,导处错误原因的假设,然后再证明或否定这个假设;演绎法调试,该方法列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因;回溯法调试,该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。

9、如何做好软件质量保证工作?

软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工

作:<1>采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。<2>组织正式技术评审,在软件开发的第

一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。<3>加强软件测试。软件测试是质量保证的

重要手段,因为测试可发现软件可发现软件中大多数潜在错误。<4>推选软件工程规范(标准)。用户可以自己指定软件工程规范(标准),但标准一旦确认就应贯彻执行。<5>对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改

和变更。<6>对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。

10、什么是数据流图?其作用是什么?

其中的基本符号各表示什么含义?数据流图简称DFD是SA方法中用于表示系统逻辑

模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统

必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“T”箭头

表示数据流;“O”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。

16、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?

㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析。

该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,

根据这些情况选择测试用例。㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图。因果

图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

21、什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中

确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充

和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

23、软件维护的特点是什么?

主要体现在三个方面:<1>非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非

常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的

文档,容易进行维护工作,这是一种结构化的维护。<2>维护的困难性。软件维护的困难性

是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管

理和规划,就会引起软件运行时的维护困难。<3>软件维护的费用。软件维护的费用在总费

用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更

多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

24、什么是CASE CASE工具有哪些分类?

CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。

CASE把软件开发技术、软件工具和软件开发方法集成到一个

统一而一致的框架中,并且吸引了CAD(计算机辅助设计)、软件工程、操作系统、数据库、

网络和许多其它计算机领域的原理和技术。因而,CASE领域是一个应用集成和综合的领域。

从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE分类:<1>CASE技术种类CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软件开发过程管理的技术。从CASE系统产生方式来看,还有一种特殊

的CASE技术,即元一一CASE技术。他是生成CASE系统的生成器所采用的技术。该生成器可用来创建支持软件开发过程活动及过程管理的CASE系统。<2>CASE X具的分类对CASE X 具分类的标准可分为:①功能。功能是对软件进行分类的最常用的标准。②支持的过程。根

据支持的过程,工具可分为设计工具、编程工具、维护工具等。③支持的范围。根据支持的范围,可分为窄支持、较宽支持和一般支持工具。窄支持指支持过程中特定的任务,较宽支

持是指支持特定过程阶段;一般支持是指支持覆盖软件过程的全部阶段或大多数阶段。1993年,Fuggetta根据CASE系统对软件过程的支持范围,提出CASE系统可分为三类:①支持

单个过程任务的工具。工具可能是通用的,或者也可能归组到工作台。②工作台支持某一过程所有活动或某些活动。他们一般以或多或少的集成度组成工具集。③环境支持软件过程所

有活动或至少大部分。他们一般包括几个不同的工作台,将这些工作台以某种方式集成起来。

25、说明容错软件的定义与容错的一般方法。

归纳容错软件的定义,有以下四种:⑴规定功能的软件,在一定程序上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件。⑵规定功能的软件,在一定程序上能从错误状态自动恢复到正常状态,则称之为容错软件。⑶规定功能的软件,在

因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。⑷

规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。实现容错技术的主要手段是冗余,通常冗余技术分为四类。⑴结构冗余。结构冗余是通常用的冗余技术。按其工作

方式,它分为静态、动态和混合冗余三种。⑵信息冗余。为检查或纠正信息在运算或传输中

的错误须外加一部分信息,这种现象称为信息冗余。⑶时间冗余。是指以重复执行指令(指

令复执)或程序(程序复算)来消除瞬时错误带来的影响。⑷冗余附加技术。是指为实现上述冗余技术所需的资源和技术。包括程序、指令、数据、存放和调动他们的空间和通道等。

5、快速原型模型有几种?各有何特点?

根据原型的不同作用,有三类原型模型:⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开

发来明确用户的需求。⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计

方案的正确性。⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系

统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充

演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。

27、在划分软件生存周期阶段时,应遵循的基本原则是什么?

软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开

发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原

则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每

个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

28、请说明软件文档的作用?

软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的

能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息

便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目

开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。

29、软件开发成本估算方法有哪几种?

<1>自顶向下估算方法。估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行

分配,这样方法称为自顶向下的估算方法。<2>自底向上估算方法。自底向上估算方法是将

待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到

软件的总开发量。<3>差别估算方法。差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。<4>专家估算法。依靠一个或多个专家对要求的项目做出估算。<5>类推估算法。<6>算式估算法。

30、简述SA方法的优缺点?

结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它

较适合于开发数据处理类型软件的需求分析。该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。但SA方法也

存在有不足之处:⑴传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。⑵ SA方法使用DFD在分析与描述“数据要求”方面是有限的,DFD应与数据库技术中的实体联系图(ER图)结合起来。⑶DFD不是和描述人机界面系统的

需求。SA方法则对这一部分用自然语言作补充,对这类系统可采取其它的分析方法。⑷为了更精确地描述软件需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法

可与形式化方法结合起来。

软件工程是一种用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程是一

门工程性学科,目的是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:付出较低的开发成本,达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需

要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程

研究的主要内容是软件开发技术和软件开发管理两方面,在软件开发技术中,主要研究软件

开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,主要研究软件管理学、软件经济学、软件心理学等。

31、如何控制因修改而引起的副作用?

为了控制因修改而引起的副作用,要做到:⑴按模块把修改分组;⑵自顶向下的安排被修改模块的顺序;⑶每次修改一个模块;⑷对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。

4、增量模型的基本思想是什么?

为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了增量模

型。它是在瀑布模型的基础上加以修改而形成的。增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所

有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早

的产生工作软件。增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式

包括增量开发和增量提交。增量开发是指在项目开发周期内,以一定的时间间隔开发部分工

作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件

及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。

35、什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中

确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

36、详细设计的基本任务是什么?有哪几种描述方法?

详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行详细的算法设计;为模块

内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细

设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计

和处理细节的语言工具。

当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到

的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主

要表现为:<1>经费预算经常突破,完成时间一再拖延;<2>开发的软件不能满足用户要求;

<3>开发的软件可维护性差;<4>开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:<1>软件的规模越来越大,结构越来越复杂;<2>软件开发管理困难而复杂;<3>软件开发费用不断增加;<4>软件开发技术落后;<5>生产方式落后;<6>开发工具落后,生产率提高缓慢。

37、软件维护的特点是什么?

主要体现在三个方面:<1>非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非

常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的

文档,容易进行维护工作,这是一种结构化的维护。<2>维护的困难性。软件维护的困难性

是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管

理和规划,就会引起软件运行时的维护困难。<3>软件维护的费用。软件维护的费用在总费

用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

40、概要设计阶段的基本任务是什么?

⑴设计软件系统结构(简称软件结构),具体为:①采用某种设计方法,将一个复杂的系统

按功能划分成模块。②确定每个模块的功能。③确定模块之间的调用关系。④确定模块之间

的接口,即模块之间传递的信息。⑤评价模块结构的质量。⑵数据结构及数据库设计,汉数据结构的设计及数据库的设计。⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。

42、请说明软件文档的作用?

Whe n you are old and grey and full of sleep,

And no ddi ng by the fire, take dow n this book,

And slowly read, and dream of the soft look

Your eyes had once, and of their shadows deep;

How many loved your mome nts of glad grace,

And loved your beauty with love false or true,

But one man loved the pilgrim soul in you,

And loved the sorrows of your cha nging face;

And bending dow n beside the glow ing bars, Murmur, a little sadly, how love fled

And paced upon the mountains overhead

And hid his face amid a crowd of stars.

The furthest dista nee in the world

Is not betwee n life and death

But whe n I sta nd in front of you

Yet you don't know that

I love you.

The furthest dista nee in the world

Is not whe n I sta nd in front of you

Yet you can't see my love

But whe n un doubtedly knowing the love from both Yet cannot be together.

The furthest dista nee in the world

Is not being apart while being in love

But whe n I pla inly cannot resist the year ning

Yet prete nding you have n ever bee n in my heart.

The furthest dista nee in the world Is not struggli ng aga inst the tides But using on e's in differe nt heart To dig an un crossable river

For the one who loves you.

软件工程期末考试题含答案

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段

软件工程试题与答案-(20)

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 ( A )13.面向数据流的设计方法把()映射成软件结构。

工程材料简答题,武汉理工大学,考试试题(含原题),2014年总结

简答题 1、金属材料的机械性能主要包括哪几个方面? ○1)强度、塑性、 2)弹性、韧性和硬度等。 2、钢铁材料的性能,可以通过什么途径加以改变? ○热处理、形变强化等手段。 3、常见的金属晶体结构有哪几种?它们的原子排列有何特点? ○1)体心立方、面心立方和密排六方晶格; 2)原子排列都趋于紧密堆垛。 4、常见的金属晶体结构有哪几种?它们的晶格常数有何特点? ○1)体心立方、面心立方和密排六方晶格; 2)体心立方、面心立方的晶格常数是a=b=c,而密排六方晶格的晶格常数是c/a>1。 5、在体心立方晶格中,哪个晶面和晶向的原子密度最大? ○(110);[111] 6、在面心立方晶格中,哪个晶面和晶向的原子密度最大? ○(111);[110] 7、为何单晶体具有各向异性? ○1)单晶体中各原子面和各原子列上的原子排列的紧密程度不同; 2)因此在各个不同的方向上性能不同。 8、多晶体在一般的情况下为何不显示出各向异性? ○1)多晶体受到不同方位晶体相互的影响; 2)只能反映出其统计平均性能,所以不象单晶体那样呈各向异性。 9、过冷度与冷却速度有何关系?它对金属的结晶过程有何影响? ○1)冷却速度越大,过冷度越大; 2)在一般情况下过冷度越大,结晶的推动力越大,有利于结晶过程的进行。 10、过冷度对铸件晶粒大小有何影响?

○1)在一般的工业冷却条件下,过冷度越大,形核率越大; 2)铸件晶粒越小。 11、在铸造生产中,采用哪些措施控制晶粒的大小? ○冷却速度、变质处理、振动等等。 12、如果其它条件相同,试比较在下列铸造条件下,铸件晶粒的大小: 1)金属模浇注与砂模浇注; 2)铸成薄件与铸成厚件; ○金属模浇注;铸成薄件。 13、影响固溶体的结构形式和溶解度的因素有哪些? ○主要有四个方面: 1)尺寸因素;2)结构因素; 3)负电性因素;4)电子浓度因素。 14、置换原子与间隙原子的固溶强化效果哪个大些?为什么? ○1)间隙原子; 2)因为间隙原子引起的晶格畸变度大于置换原子,强化效果优于后者。 15、金属间化合物在结构和性能方面与固溶体有何不同? ○1)金属间化合物具有独特的晶格形式,而固溶体保持溶剂的晶格形式; 2)固溶体有良好的综合机械性能,金属间化合物高硬度、高脆性、高熔点。 16、何谓固溶强化? ○1)溶质原子的作用; 2)造成溶剂晶格发生不同程度地畸变,引起固溶体强度、硬度升高的现象。 17、何谓共晶反应? ○一定成分的液相在一定的温度条件下同时结晶出来两种成分、结构均不相同的固相的反应。 18、何谓共析反应? ○一定成分的固相在一定的温度条件下同时析出来两种成分、结构均不同的固相的反应。19、试比较共晶反应和共析反应的异同点。 ○1)不同点:一个是从液相中结晶出来,而另一个是从固相中析出来; 2)相同点:都同时生成两种成分、结构均不同的固相。 20、形状、尺寸相同的两个Cu-Ni合金铸件,一个含90%Ni,另一个含50%Ni,铸后自然冷却,

软件工程 简答题复习题(带答案)

n n g a r 第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来 了解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过 程中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)预算,项目一再拖延。 2)需求,开发的软件不能满足用户的要求,项目成功率低。 3)软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软 件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法 做到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。

n d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实 施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开 发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向 对象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、 XP 模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征?

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

软件工程导论简答题大全

1.软件工程的七条基本原理是什么? 答:软件工程的七条基本原理是: 用分阶段的是的生存周期计划严格管理; 坚持进行阶段评审; 严格实施的产品控制; 采用现代程序技术; 结果应能清楚地审查; 开发小组的成员应该少而精; 承认不断改进软件工程的必要性。 2.良好的编码风格应具备哪些条件? 答:应具备以下条件: (1)使用标准的控制结构; (2)有限制地使用GOTO语句; (3)源程序的文档化(应具备以下内容) ①有意义的变量名称——“匈牙利命名规则”。 ②适当的注释——“注释规范”。 ③标准的书写格式: ——用分层缩进的写法显示嵌套结构的层次(锯齿形风格); ——在注释段的周围加上边框; ——在注释段与程序段、以及不同程序段之间插入空行; ——每行只写一条语句; ——书写表达式时,适当使用空格或圆括号等作隔离符。 (4)满足运行工程学的输入输出风格。 3.简述文档在软件工程中的作用。 答: (1) 提高软件开发过程的能见度 (2) 提高开发效率 (3) 作为开发人员阶段工作成果和结束标志 (4) 记录开发过程的有关信息便于使用与维护; (5) 提供软件运行、维护和培训有关资料; (6) 便于用户了解软件功能、性能。 4.可行性研究包括哪几方面的内容? 答: (1)经济可行性:是否有经济效益,多长时间可以收回成本; (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (3)运行可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 5.结构化的需求分析描述工具有哪些? 答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。 6.一般面向对象分析建模的工具(图形)有哪些?

(完整版)工程材料期末考试题

工程材料期末复习考试题 一、填空题(每空1分,共20分) 1.机械设计时常用抗拉强度和屈服强度两种强度指标。 2.若退火亚共析钢试样中先共析铁素体占41.6%,珠光体58.4%,则此钢的含碳量为约0.46%。 3.屈强比是屈服强度与,抗拉强度之比。 4.一般工程结构用金属是多晶体,在各个方向上的性能相同,这就是实际金属的各向同性现象。 5.实际金属存在点缺陷、线缺陷和面缺陷三种缺陷。实际晶体的强度比理想晶体的强度低(高,低)得多。 6.根据组成合金的各组元之间的相互作用不同,合金的结构可分为两大类: 固溶体和金属化合物。固溶体的晶格结构同溶剂,其强度硬度比纯金属的高。 7.共析钢加热至Ac1时将发生珠光体向奥氏体的转变,其形成过程包括四个阶段。 8.把两个45钢的退火态小试样分别加热到Ac1~Ac3之间和Ac3以上温度水冷淬火,所得到的组织前者为马氏体+铁素体+残余奥氏体,后者为马氏体+残余奥氏体。 二、判断改错题(对打√,错打“×”并改错,每小题1分,共10分)()1.随奥氏体中碳含量的增高,马氏体转变后,其中片状马氏体减少,板条状马氏体增多。(×,片状马氏体增多,板条马氏体减少) ()2.回火屈氏体、回火索氏体和过冷奥氏体分解时形成的屈氏体、索氏体,只是形成过程不同,但组织形态和性能则是相同的。(×,组织形态和性能也不同)()3.退火工件常用HRC标出其硬度,淬火工件常用HBS标出其硬度。(×,退火工件硬度用HBS标出,淬火工件硬度用HRC标出;)

()4.马氏体是碳在α-Fe中所形成的过饱和固溶体;当发生奥氏体向马氏体的转变时,体积发生膨胀。√; ()5.表面淬火既能改变工件表面的化学成分,也能改善其心部组织与性能。 (5.×,表面淬火只能改变工件表面的组织与性能。) (√;)6.化学热处理既能改变工件表面的化学成分,也能改善其心部组织与性能。 (√)7.高碳钢淬火时,将获得高硬度的马氏体,但由于奥氏体向马氏体转变的终止温度在0℃以下,故钢淬火后的组织中保留有少量的残余奥氏体。 ()8.为了消除加工硬化便于进一步加工,常对冷加工后的金属进行完全退火。 ×,进行再结晶退火; ()9.片状珠光体的机械性能主要决定于珠光体的含碳量。×,取决于珠光体的片间距; ()10.由于钢回火的加热温度在A1以下,所以淬火钢在回火时没有组织变化。×,尽管钢回火的加热温度在A1以下,但是淬火钢在回火时仍有组织变化。 三、选择题(每小题1分,共10分) 1.钢在淬火后所得的组织是(A ) A.淬火马氏体 B.回火索氏体 C.回火屈氏体 D.索氏体 2.在淬火钢中,当含碳量增加到0.6%以后,随含碳量的增加,硬度增加缓慢, 这是因为( A ) A. 随含碳量的增加,残余奥氏体的量增多 B. 随含碳量的增加,片状马氏体的量增多 C. 随含碳量的增加,淬火内应力增大 D. 随含碳量的增加,非马氏体的量减少 3.若钢中加入的合金元素能使C曲线左移,则将使钢的淬透性(B )

软件工程课后习题测验简答题

第一章: 三、简答题 1.软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要是脑力劳动; ●软件不存在磨损和老化问题,但存在退化问题; ●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3.什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 4.什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。 主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。 ⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。 ⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 ⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。 ⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4

软件工程简答题复习题(带答案)

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和

工程材料期末考试复习题集

第二章晶体结构与结晶 简答题 1、常见的金属晶格类型有哪几种?它们的晶格常数和原子排列有什么特点? 2.为什么单晶体具有各向异性,而多晶体在一般情况下不显示各向异性? 3.在实际金属中存在哪几种晶体缺陷?它们对金属的力学性能有何影响? 4.金属结晶的基本规律是什么?工业生产中采用哪些措施细化晶粒?举例说明。 第三章金属的塑性变形 简答题 7、多晶体的塑性变形与单晶体的塑性变形有何异同? 答:相同——塑性变形方式都以滑移或孪晶进行;都是在切应力作用下产生塑性变形的。 不同点——在外力作用下,各晶粒因位向不同,受到的外力不一致,分切应力相差大,各晶粒不能同时开始变形,接近45℃软位向先滑移,且变形要受到周围临近晶粒制约相互要协调;晶粒之间的晶界也影响晶粒的塑性变形。多晶体的塑性变形逐次逐批发生,由少数开始,最后到全部,从不均匀到均匀。 8.已知金属Pb、Fe、Cu的熔点分别为327℃、1534℃,1083℃、,试估算这些金属的再结晶温度范围?在室温下的变形属于冷加工还是热加工? 9.说明产生下列现象的原因: (1)滑移面和滑移方向是原子排列密度最大的晶面和晶向; (2)晶界处滑移阻力最大; (3)实际测得的晶体滑移所需的临界切应力比理论计算的数值小的多; (4)Zn、α-Fe和Cu的塑性不同。 作业: 1.解释下列名词:滑移、加工硬化 2.塑性变形的实质是什么?它对金属的组织与性能有何影响? 3.何为塑性变形?塑性变形的基本方式有那些? 4.为什么常温下晶粒越细小,不仅强度、硬度越高,而且塑性、韧性也越好? 第四章二元合金 1.解释下列名词:合金、组元、相、相图、组织、固溶体、金属间化合物、晶内偏析。2.指出下列名词的主要区别: (1)置换固溶体与间隙固溶体 (2)间隙相与间隙固溶体 (3)相组成物与组织组成物 答:相组成物:指构成显微组织的基本相,它有确定的成分与结构,但没有形态的概念。例:α和β 组织组成物:指在结晶过程中形成的,有清晰轮廓,在显微镜下能清楚区别开的组成部分。例:α、β、αⅡ、βⅡ、α+β。 (4)共晶反应与共析反应 3.为什么铸造合金常选用有共晶成分或接近共晶成分的合金?用于压力加工的合金选用何种成分的合金为好? 答:铸造性能:取决于结晶的成分间隔与温度间隔,间隔越大,铸造性能越差。 压力加工性能好的合金通常是固溶体,应强度较低,塑性好,变形均匀不易开裂。

软件工程复习题及答案

2006-2007-2软件工程复习 一、单项选择题(20选10) 1. 结构化分析的主要描述手段有( B )。 A. 系统流程图和模块图 B. DFD图、数据词典、加工说明 C. 软件结构图、加工说明 D. 功能结构图、加工说明 2. 用于表示模块间的调用关系的图叫( D )。 A.PAD B.SC C.N-S D.HIPO 3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。 A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型 4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。 A. 过程 B. 内容 C. 用户 D. 流程 5 从工程管理的角度来看,软件设计分两步完成( D )。 A. ①系统分析②模块设计 B. ①详细设计②概要设计 C. ①模块设计②详细设计 D. ①概要设计②详细设计 6. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 7. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 8. SD方法衡量模块结构质量的目标是( C )。 A. 模块间联系紧密,模块内联系紧密 B. 模块间联系紧密,模块内联系松散 C. 模块间联系松散,模块内联系紧密 D. 模块间联系松散,模块内联系松散 9.为提高软件测试的效率,应该( C )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据 10.( D )测试用例发现错误的能力较大。 A.路径覆盖 B.条件覆盖 C.判断覆盖 D.条件组合覆盖 11.软件需求分析应确定的是用户对软件的( A )。 A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 12.下列各种图可用于动态建模的有( C )。 A.用例图 B. 类图 C. 序列图 D. 包图 13.软件过程模型有瀑布模型、( B )、增量模型等。 A. 概念模型 B. 原型模型 C. 逻辑模型 D. 物理模型 14.面向对象的分析方法主要是建立三类模型,即( D )。 A. 系统模型、ER模型、应用模型 B. 对象模型、动态模型、应用模型 C. E-R模型、对象模型、功能模型 D. 对象模型、动态模型、功能模型 15.测试的分析方法是通过分析程序( B )来设计测试用例的方法。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 16. 软件工程是研究软件( B )的一门工程学科。 A. 数学 B. 开发与管理 C. 运筹学 D. 工具 17. 需求分析可以使用许多工具,但( C )是不适合使用的。 A.数据流图 B.判定表 C.PAD图 D.数据字典 18.划分模块时,一个模块内聚性最好的是( A )。 A. 功能内聚 B. 过程内聚 C. 信息内聚 D. 逻辑内聚 19.软件可移植性是用来衡量软件的( D )的重要尺度之一。 A.效率 B. 质量 C. 人机关系 D. 通用性 20.软件配置管理是在软件的整个生存周期内管理( D )的一组活动。 A.程序 B.文档 C.变更 D.数据 二、判定题(20选10) 1统一过程是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。(×) 2当模块中所有成分结合起来完成一项任务,该模块的内聚是偶然内聚。(×) 3SD方法衡量模块结构质量的目标是模块间联系松散,模块内联系紧密(√) 4当模块中所有成分结合起来完成一项任务,该模块的内聚是功能内聚。(√) 5在进行需求分析时,就应该同时考虑软件的可维护性问题。(√) 6需求分析可以使用许多工具,但数据流图是不适合使用的。(×)

历年全国自学考试软件工程试题简答题答案

历年全国自学考试软件工程试题简答题答案

全国 10月自学考试软件工程试题 简答题(本大题共6小题,每小题5分,共30分) 31. 什么是需求规约?简述需求规约的基本性质。 答:需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表示了一个软件产品/系统的概念模型。需求规约一般需要满足一下4个基本性质: 1.重要性和稳定性程度:按需求的重要性和稳定性,对需求进行 分级; 2.可修改性:在不影响其它需求的前提下可容易修改一个单一 需求; 3.完整性:设备被遗漏的需求; 4.一致性:不存在互斥的需求。 32.什么是模块耦合?简述常见的模块耦合类型及其设计原则。答:模块耦合:是指不同模块之间相互依赖程度的度量; 几中常见模块耦合类型为:内容耦合、公共耦合、控制耦合、标记耦合、数据耦合等; 设计原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合,避免内容耦合。 33.UML给出了那些表示关系的术语?简述它们的概念。 答:1.为了表示各类事物之间的关系,UML给出了表示关系的术

语:关联、泛化、细化、依赖; 2.关联是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述; 3.泛化是一般性类目和它的较为特殊类目之间的一种关系; 4.细化是类目之间的语义关系,其中一个类目规约了保证另一个类目执行的契约; 5.依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。 34.简述RUP的定义和特点。 答:RUP是基于一种过程框架,为软件开发,即为进行不同抽象层之间映射安排其开发活动的次序,制定任务和需求开发的制品,提供了指导;并为对项目中的制品和活动进行监督与度量,提供了相应的准则; RUP特点是:以用况为驱动,以体系结构为中心,迭代、增量式开发。 35.简述软件测试步骤及关注的内容。 答:软件测试步骤及关注的内容有以下几点: 1.由于软件错误的复杂性,在软件工程测试中应综合运用测试 技术,实施合理的测试步骤:单元测试、集成测试、有效性测试和系统测试;

工程材料期末试题及解答

第一章 一、填空题 1.工程材料按成分特点可分为金属材料、非金属材料、复合材料;金属材料又可分为有色金属和黑色金属两类;非金属材料主要有无机非金属、有机非金属;复合材料是指。 2.金属材料的力学性能主要包括强度、硬度、塑性、韧性等;强度的主要判据有屈服点和抗拉强度,强度和塑性可以用拉伸试验来测定;洛氏硬度测量方法简便、不破坏试样,并且能综合反映其它性能,在生产中最常用。 3.理解静拉伸试验过程和应力-应变曲线图。 二、判断题材料所受的应力小于屈服点σs时,是不可能发生断裂的。(×) 第二章 1 名词解释 晶体:指其原子(原子团或离子)按一定的几何形状作有规律的重复排列的物体 过冷度:实际结晶温度与理论结晶温度之差称为过冷度 变质处理:有意地向液态金属中加入某些变质剂以细化晶粒和改善组织达到提高材料性能的目的。 各向异性:在晶体中,由于各晶面和各晶向上的原子排列密度不同,因而导致在同一晶体的不同晶面和晶向上的各种性能的不同形核率:在单位时间内,单位体积中所产生的晶核 2 填空 三种常见的金属晶格体心立方,面心立方,密排六方。 晶体缺陷的形式包括点缺陷,线缺陷,面缺陷。 3 问答 1 简述形过冷度和难熔杂质对晶体的影响。 答:过冷度影响:金属结晶石,形核率和长大速度决定于过冷度。在一般的液态金属的过冷范围内,过冷度愈大,形核率愈高,则长大速度相对较小,金属凝固后得到的晶粒就愈细;当缓慢冷却时,过冷度小,晶粒就粗大。 难熔杂质的影响:金属结晶过程中非自发形核的作用王伟是主要的。所以某些高熔点的杂质,特别是当杂质的晶体结构与经书的晶体结构有某些相似时将强烈的促使非自发形核,大大提高形核率。 2 简述铸锭的组织结构特点。 答:铸锭是由柱状晶粒和等轴晶粒组成的,组织部均匀,不同形状的晶粒对性能由不同的影响。 3.凝固过程中晶粒度大小的控制。 答:主要有两种方法:1增大过冷度,2变质处理 第三章 1.金属塑性变形是在什么应力作用下产生的?金属的塑性变形有哪几种基本方式?它们之间有何区别 金属的塑性形变是在切应力的作用下产生的。金属的塑性形变有滑移和孪生两种形式。它们之间的区别是:1滑移是金属键一个个断裂,而孪生是孪生面上的键同时发生断裂;2孪生之后,虽然晶体结构为改变,但孪生的晶体的晶格位向已经发生改变。 2.塑性变形对金属的组织、结构和性能有哪些影响? 组织结构影响:当工件的外形被拉长或者压扁时其内部的晶粒的形状也被拉长或压扁。 性能影响:强硬度提高,塑韧性降低,电阻增加,耐腐蚀性降低 3.什么叫再结晶?再结晶前、后组织和性能有何变化? 当变形金属加热至较高温度,原子具有较大扩散能力时,会在变形最激烈的区域自发的形成新的细小等轴晶粒称为再结晶。再结晶前后组织上的变化是,在形变激烈能量高的地方形核。性能上的变

软件工程简答题66339

简答题: 1、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究把工程应用于软件中提到的途径。 软件工程的本质特征: (1)软件工程关注于大型程序的构造; (2)软件工程的中心课题是控制复杂性; (3)软件产品交付使用后仍然需要经常修改; (4)开发软件的效率非常重要; (5)和谐地合作是成功开发软件的关键; (6)软件必须有效地支持它的用户 (7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人开发产品。 消除软件危机的途径: (1)对计算机软件有一个正确的认识(软件≠程序) (2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3)推广使用在实践中总结出来的开发软件的成功技术和方法 (4)开发和使用更好的软件工具 2、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 3、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件工程简答题

软件工程简答题 三、简答题(简要回答下列问题) 1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。 软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。 软件工程内容:包括开发技术和开发管理两个方面。 2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发? 软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。 其中喷泉模型、统一软件过程适用于面向对象的软件开发。 3、什么是结构分析方法?该方法使用什么描述工具? 结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 4、什么是软件概要设计?该阶段的基本任务是什么? 把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。 基本任务: ⑴设计软件系统结构 ⑵进行数据结构及数据库的设计 ⑶编写概要设计的文档 ⑷评审 5、软件维护有哪些内容? (1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴

露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 (2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。 (3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。 (4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。 单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。 7、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 8、衡量模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。 耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

(完整版)土木工程材料必考简答题

土木工程材料复习资料 一、名词解释 密度:材料密度是材料在绝对密实状态下单位体积的质量。 密实度:指材料体积内被固体物质充实的程度。 孔隙率:指材料的体积内,空隙体积所占的比例。 含水率:材料中所含水的质量与干燥状态下材料的质量之比;吸水率为饱和状态下含水率。 吸水率:质量吸水率(吸水量占材料干燥下的质量比)、体积吸水率(吸水体积占自然体积之比) 耐水性:材料长期在饱和水的作用下不破坏、强度也显著降低的性质。 软化系数:反映材料饱水后强度的程度。软化系数小的材料耐水性差,大于0.85为耐水性材料; 镇静钢:炼钢时采用锰铁、硅铁和铝锭等作脱氧剂。脱氧完全,其组织致密、成分均匀、性能稳定。 强屈比:抗拉强度与屈服强度之比;屈强比愈小,结构安全性越高。 伸长率:表征钢材的塑性变形的能力。 冲击韧性:指钢材抵抗冲击荷载的能力。 冷加工与时效:时效是随时间的延长而表现出强度提高、塑性和冲击韧性下降的现象;冷加工变形可促进时效迅速发展。时效处理使屈服点进一步提高。 电化学腐蚀:指钢材与电解质溶液接触而产生电流,形成微电池而引起锈蚀。 钢号:屈服点—Q;屈服点数值;质量等级,A、B、C、D四级;脱氧程度代号;如:Q235—BZ。 气硬性胶凝材料:石灰、石膏和水玻璃只能在空气中硬化、保持或发展强度的无机胶凝材料;水硬性胶凝材料(如:水泥)则不仅能在空气,还能在水中硬化保持或发展强度。 陈伏:为了消除过火石灰的危害,生石灰熟化形成的石灰浆在储灰坑中放置两周以上。 体积安定性:水泥浆体硬化后体积变化的均匀性;主要指水泥硬化后浆体能保持一定形状。 水泥活性混合材料:粒化高炉矿渣、火山灰混合材料、粉煤灰混合材料、硅灰 碱—骨料反应:混凝土中所含的碱与骨料中的活性成分反应生成复杂的硅酸凝胶,其吸水膨胀,破坏混凝土。 最大粒径:石子各粒级公称上限为该粒级的最大粒径。 和易性:指混凝土拌合物易于施工操作(拌合、运输、浇灌、捣实)并能获得质量均匀、成型密实的性质。包括流动性、黏聚性、保水性三方面。 砂率与合理砂率:沙的质量占沙、石总重量的比例;合理砂率指用水量、水泥用量一定时,拌合料保证具有良好的粘聚性和保水性的条件下,使拌合料具有最大流动性的砂率。或是,坍落度一定时,使拌合料具有最小水泥用量的砂率。 耐久性:混凝土抵抗环境介质作用并长期保持良好的使用性能的能力。 混凝土立方体抗压强度:按国标制成变长为150mm的立方体试件,在标准养护条件下(温度20±3℃,相对湿度90%以上),养护

相关文档
最新文档