文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习题

软件工程复习题

软件工程复习题
软件工程复习题

三、填空题

1、计算机软件是指与计算机系统操作有关的程序以及任何与之有关的文档资料。

2、软件运行维护阶段是软件生存周期中时间最长的阶段。

3、软件生存周期是指一个软件从定义阶段开始直到该软件最终退役为止的整个时期。

4、在软件的生产过程中,总是有大量各种信息要记录,因此,文档在产品的开发过程中起着重要的作用。

5、在软件生存周期中,软件定义过程的基本任务是确定软件系统的可行性。

6、在软件生存周期中,软件定义过程可以通过软件系统的可行性分析、需求分析两个阶段来完成。

7、我们把支持软件项目的具有辅助开发功能的软件叫做软件开发的工具软件。

8、软件工程由软件工程方法、软件工具和软件工程过程三部分组成,称为软件工程的

三要素。

9、若视计算机软件为一产品,站在计算机软件对计算机(硬件)所起的作用角度,可将软件分为:支撑软件、系统软件、应用软件

10、为了提高软件的开发效率,就需要对其要素进行充分认识。软件开发的要素主要是:开发计划、系统分析、系统设计、程序设计、软件测试。

11、软件开发阶段的文档主要包括:可行性分析报告、需求分析报告、系统设计报告、软件测试报告、技术总结报告。

1、基于软件生存周期的开发模型,其中有瀑布模型、原型模型、演化模型(增量模型、螺旋模型)、“空壳”模型、面向对象模型、智能模型、综合模型等。

2、软件的开发方法从大的方面可分为两大类:传统开发方法和现代开发方法。

3、传统开发方法主要有结构化方法、面向数据结构、面向问题分析方法、面向对象、基于组件、构件和中间件方法、可视化方法、基于重组工程的开发方法等。

4、面向对象系统采用了算法、对象的分解的方法。

5、对象模型技术(Object Modeling Technique,OMT)方法从3个视角描述系统,相应地提供了3种模型:对象模型、动态模型和功能模型。

6、现代软件开发方法主要包括敏捷软件开发、精益软件开发、Scrum软件开发、极限编程、统一过程方法、微软开发方法等。

7、一般来说,IT软件项目精益开发系统包括三个要素,即人、流程和技术。

8、微软过程把软件开发周期划分成4个阶段规划阶段、开发阶段、测试阶段、稳定化阶段。

9、RUP软件开发生存周期体现了过程的动态结构。它以初始、精化、构建和交付表达。

10、极限编程XP定义了一套简单的开发流程,包括:编写用户案例,架构规范,实施规划,迭代计划,代码开发,单元测试,验收测试等。

1、软件开发环境的主要组成成分是软件工具。

2、按工作阶段划分,软件开发工具可以分为设计工具、编码工具和测试工具、维护工具。

3、软件开发环境,按工作模式分类交互式、批处理式和个人分布式环境等。按应用范围分类有通用型和专用型。

4、软件开发环境具有层次式的结构,分为四层:宿主层、核心层、基本层、应用层。

5、软件开发环境基本组成有三:交互系统、工具集和环境数据库。

6、软件开发工具的目的是从信息_交流和管理方面,给予软件开发人员帮助与支持。

7、Windows XP,微软最初发行了两个版本家庭版、专业版。

8、软件工具生成的文档包括文章、帮助和简介三大类。

9、Windows 2000有四个版本:Professional、Server、Advanced Server和Datacenter Server。

10、软件开发工具可以分为需求分析工具、设计工具、编码工具、测试工具。

11、软件维护工具版本控制工具、文档分析工具、逆向工程工具、再工程工具。

13、Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。

14、通俗地说,软件开发工具是软件开发人员用的软件。

15、按集成程度不同,软件开发工具可分为专用的工具和应用集成化的工具两种类型。

16、软件工具的性能,主要包括人机界面、使用方式和兼容性。

1、可行性分析的目的就是用最小的代价在尽可能短的时间内确定软件项目是否能够开发,是否值得去开发。

2、可行性分析的目的不是去开发一个软件项目,而是研究分析这个软件项目是否____、值得去开发。

3、可行性分析实质上是要进行一次简化,压缩了的需求和分析过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。

4、可行性分析需要从技术可行性、经济可行性、社会可行性、资源可行性、__操作___可行性五个方面分析研究每种解决方法的可行性。

5、技术可行性是对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。

6、技术可行性一般要考虑的情况包括:开发风险分析,_现有技术能否实现,现有技术发展分析。

7、技术可行性的研究包括:开发风险分析,现有技术能否实现,现有技术发展分析。

8、社会可行性所涉及的范围包括是否侵权、运行方式是否可行、环境是否允许、用户组织的管理模式,规范及其他一些技术人员常常不了解的陷阱等。

9、典型的可行性研究有下列步骤:确定项目规模和目标、分析目前运行的系统、设计新项目的总体框架、导出和评价各种方案,推荐可行的方案和编写可行性研究报告。

10、一个可行性研究报告的主要内容为:引言,项目简况、现有情况分析、可行性分析、实现方案、结论。

11、成本/效益分析首先是估算将要开发系统的开发成本,然后与可能取得的效益进行_对比分析。

12、效益分有形效益和无形效益两种,有形效益可以用利润、产值、产量等指标进行度量,无形效益主要从性质上、心理上进行衡量,很难直接进行衡量,很难进行量的比较。

13、_____就是使累计的经济效益等于最初的投资用所需要的时间。项目的______是指在整个生存周期之内的累计经济效益(折合成现在的值)与投资之差。

(删除)

14、项目开发计划的主要内容有:项目概述、实施计划、支撑条件、交付期限。

15、纯收入是软件生存周期内两项值之差,这两项是销售利润与软件开发维护成本。

16、软件工程有两种效益,它们是经济效益和社会效益。

17、可行性研究具体步骤的最后一步是撰写可行性分析报告。

1、软件需求分析是软件生存期中重要的一步,是软件定义阶段的最后一个阶段,是关

系到软件开发成败的关键步骤。

2、在软件需求分析中,必须采用合理的步骤,才能准确地获取软件的需求,可归纳为4个步骤:用户识别调研、理解需求、编制需求分析文档、评审验证、需求变更管理。

3、访谈是最早使用的获取用户需求的技术,也是世界上仍然广泛使用的需求分析技术。访谈有两种基本形式:问卷调查和小组讨论。

4、软件的分析模型通常由一组模型组成,包括数据模型、功能模型和行为模型。从数据字典出发主要通过以下3种图来构建该模型的3种模型:E-R 图、DFD 图、STD 图。

5、数据流图由数据流、数据存储、数据项、数据加工组成。

6、加工说明的描述工具通常有3种:结构化语言、判定表、判定树。

1、耦合衡量不同模块彼此间互相依赖(连接)的紧密程度,模块间的耦合性越高,其模块的独立性就越低。两个模块之间的耦合方式通常有7种,按耦合程度从低到高依次为:非直接耦合、,数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。

2、耦合衡量不同模块彼此间互相依赖(连接)的紧密程度,模块间的耦合性越高,其模块的独立性就__越高____。两个模块之间的耦合方式通常有7种,按耦合程度从低到高依次为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。

3、数据流有变换型数据流图和事物型数据流图两种基本类型。

4、软件设计包括概要设计和详细设计两个阶段。

5、模块独立性的概念是模块化、抽象和信息隐蔽的直接结果。

6、变换分析是一系列设计步骤的总称,经过这些步骤把变换型数据流图按预先确定的模式映射为软件结构。

7、软件的详细设计可以采用图形、表格和语言三种形式的描述工具表示模块的处理过程。

8、在详细设计阶段的文档是详细设计说明书,它是程序运行过程的描述。

9、程序流程图又称为程序框图,它是软件开发者最熟悉的一种算法表达工具。

10、影响系统架构设计的因素有很多种,一般主要从两个大的方面考虑:程序的运行结构和源代码的组织结构。

11、三层逻辑架构主要包括:界面表示层、业务层、数据存储层。

12、在流行的数据库软件开发模式中,分为三类模式:用户端/服务器(C/S)、B/S 模式、混合模式。

1、根据用户对项目的使用情况,可把用户分为三类:初级用户、中级用户、高级用户。

2、用户界面设计应该包括用户使用分析、交互设计、界面设计、视觉设计四个方面的内容。

3、 Web界面的主要形式一般有下面几种:信息查询类界面_、大众媒体类界面、宣传窗口类界面、电子商务类界面、交流平台类界面。

4、常见的服务器端脚本语言有PHP、ASP、JSP等。

5、Web界面设计工具常用的有Photoshop、Dreamwaver和Fireworks,这些工具和HTML及各类脚本语言结合使用,可设计出各种功能的Web界面。

1、计算机语言可分为两大类:面向机器的语言、高级语言。

2、计算机语言依据语言的主要特点分类可分为:静态高级语言、动态高级语言、块结构高级语言、结构化高级语言、系统实现语言等。

3、网络系统的安全性主要考虑保证网络设备连接的安全,这需要一组相互重叠的安全机制,包括防火墙、数据包过滤器、物理安全、审查日志、身份验证和授权等

4、注释的形式有注释段、注释行、语句后注释等,注释内容有序言性注释、语句性注释、功能性注释、说明性注释等。

5、标识符分为两部分:规范标识前缀、含义标识后缀。

6、标识的总长度不要超过32个字符。

7、#region和#endregion可以实现代码的折叠

8、程序设计说明书的内容包括三部分:程序说明部分、输入输出、数据文件及其定义、处理概要。

1、E-R数据模型一般在数据库设计的概念设计阶段使用。

2、在数据库领域里,统称使用数据库的各类系统为_数据库_系统。

3、数据库实施阶段包括两项重要的工作,一项是数据的_载入,另一项是应用程序的编码和调试。

4、数据库设计的几个步骤是需求分析、概念设计、逻辑设计、物理设计、数据库实现和运行。

5、数据管理技术的发展大致经过了以下三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。

6、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,这通常称为数据字典。

7、E-R图向关系模式转化要解决的问题是如何将实体和实体之间的联系转换成关系模式,如何确定这些关系模式的属性和码。

8、数据库设计过程中,一般经过需求分析、概念设计、逻辑设计、物理设计、数据库实施等五个阶段。

9、数据库管理系统的功能基本功能包括以下4个方面:数据定义、数据操纵、数据查询、数据控制。

1、在面向对象的设计方法中,对象和传递消息分别是表现事物及事物间相互联系的概念。

2、面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。

3、对象是对现实世界实体的模拟,它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作,封装在一起所构成的统一体。

4、对象之间通过消息通信互相联系,以模拟现实世界中不同事物彼此之间的联系。

5、面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。

6、对象具有封装性、自治性、通信性、被动性、持久性和暂存性等。

7、类的定义是具有相同_属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。

8、一个类的上层可以有父类,下层可以有子类,形成一种层次结构。

9、一个类可以直接继承多个类,这种继承方式称为多重继承。如果限制一个类至多只能有一个超类,则一个类至多只能直接继承一个类,这种继承方式称为简单继承。

10、如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫做B的子类,B叫做A的父类。

11、在面向对象的系统中,每个对象都属于一个类,属于某个类的对象称为该类的一个_实例。

12、消息就是向对象发出的服务请求,它应含有提供服务的对象标识、服务标识、输入信息和回答信息。

13、继承性是面向对象程序设计语言不同于其他语言的最主要特点,是其他语言所没有的。

14、在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。

15、面向对象的软件工程方法是面向对象方法在软件工程领域的全面运用,它包括面向对象的分析、对象的设计、对象的编程、对象的测试和面向对象的维护等主要内容。

16、用面向对象方法开发软件,通常需要建立三种形式的模型,分别是_对象模型_、_动态模型_、功能模型。

17、Booch方法是面向对象开发方法的倡导者。Booch认为软件开发是一个螺旋上升的过程,上升的每个周期有固定的步骤,首先发现应用领域的是对象和类。

18、Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。UML 的定义包括UML语义和UML表示法两个部分。

19、UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,利用用例来捕获用户需求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现使用实例,类之间需要协作时,UML动态模型可以描述对象的交互。

20、UML模型可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML模型作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足分析阶段确定的需求。

21、UML的静态建模机制包括用例图,类图,对象图,包图,构件图,配置图等,使用它们建立系统的静态结构。

22、在UML中,用例表示为一个椭圆,方框表示系统边界,小人状图案表示执行者。

23、UML对于整体/部分关联有特殊的表示法:组成和聚集。

24、在UML中将各种各样的模型元素通过内在的语义关系连在一起,形成一个高内聚、低耦合的整体就叫包。

25、UML动态模型包括行为模型、交互模型和实现模型。

1、软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

2、软件测试的种类大致可以分为人工测试和基于计算机的测试。基于计算机的测试有两种方法,分别是_白盒测试和黑盒测试。

3、软件从编码结束到交付用户使用,需要经过单元测试、组装测试、验收测试和系统测试4个步骤。

4、调试的目标在于找到软件错误的原因并加以改正。调试过程中主要采用调试策略有:原始的调试方法、回溯法、归纳法和演绎法。

1、实施软件配置管理的目的是保证软件项目的工作产品在整个项目周期中的完整性。

2、软件质量可分解成6个要素:功能性、稳定性、易用性、效率、易维护性、可移植性。

3、风险管理被认为是IT软件项目中减少失败的一种重要手段。

4、当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。

5、软件配置管理是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性、控制这些特性的变更、记录和报告变更的过程和状态,并验证它们是否与需求一致。

6、指令性项目,以项目任务书为依据;合同项目,以合同和招投标文件为依据;非合同项目,以可行性研究报告或项目前期调研成果为依据。

7、进度管理的目的是控制时间和节约时间。

8、根据美国项目管理协会的定义,项目的管理过程被划分成5个阶段(过程组):建议阶段、启动和计划阶段、实施阶段、控制阶段、收尾阶段。

9、ISO9000标准已经经历了四个版本,即1987版、1994版、2000 版和最新版2008版。

10、CMM五级标准按由低到高的成熟度分别为:初始级、可重复级、已定义级、已管理级、优化级。

11、软件缺陷的级别,可以概括为以下四种:致命的_、严重的、一般的、次要的。

12、配置管理工具可以分为3个级别:版本控制工具、项目级配置管理工具、企业级配置管理工具。

四、名词解释题

计算机软件:一系列按照特定顺序组织的计算机数据和指令的集合,包括计算机程序、方法、规则、相关文档资料,以及在计算机上运行时所必需的数据。

软件危机:软件危机,是指软件在开发、维护过程中所遇到的一系列极为严重问题,主要是:如何开发软件,以满足人们对软件日益增长的需求;如何维护品种、版本繁多,数量日益增长的软件。

软件工程:采用工程的原理、方法来开发、运行、维护、修复和管理软件的系统方法。

软件生存周期:软件从产生,直至消亡的整个过程。

可行性分析:确定拟开发的项目是否可行、是否值得开发。

软件开发:是把用户需要转化为软件需求,把软件需求转化为程序设计,用程序代码实现程序设计,对程序代码进行测试,并签署确认其可以投入运行、使用的过程。

软件文档:软件在生存周期中所生成的所有文件、资料、源程序清单、说明书、使用手册、维护记录等。

瀑布模型:按照软件生存周期的阶段,一步一步的推进,每一步均设置一个完成的标志,即“里程碑”,并以文档形式完整的描述清晰,否则,不能进入(进行)下一阶段的工作。

可行性分析:可行性分析,要决定的问题是“做,还是不做”。为避免盲目的软件开发,相关人员必须对拟开发的软件项目进行可行性调研、考察、分析、研究。

项目计划:项目开发计划,要决定的问题是“如何做,怎么做”。设计人员在可行性分析的基础上,如果认为项目有开发意义,就应依据对项目调研、考察、分析的估算数据制定项目开发计划。

技术可行性:对要开发项目的功能、性能、限制条件从技术角度进行分析,确定在现有资源、技术条件下,技术风险有多大,是否有把握完全满足用户的需求,项目是否能够顺利完成。

经济可行性:进行开发成本估算,对预期效益评估,确定是否值得投资,是否值得开发,是经济可行性分析的目标。包括成本/效益分析,公司经营策略,开发所需的成本和资源,潜在的市场前景等。

开发成本估算:软件开发的成本,主要依据软件的规模、开发的工作量、人力投入、设备及其他投入等进行估算。其中,开发工作量估算和人力投入估算是成本估算的两大核心内容。而开发工作量主要受到软件规模、软件复杂度、开发环境以及人员技术水平等诸多因素影响。

结构化分析法:是面向数据流进行需求分析的方法。

图形分析法:是以图形形式表示系统数据的结构。

数据流:以事先规定好的顺序被读取一次的数据的一个序列。

加工:既有输入数据流,又有输出数据流。

文件:存储在计算机上的信息集合。文件可以是文本、图片、程序等等。

源点:来源于系统外的实体,可以是人、物或系统。

汇点:交汇于系统外的实体,可以是人、物或系统。

数据项:也称数据元素。数据项条目包括数据项名、编号、简述(简述该数据项的含义)、单位(该数据项的计量单位)、类型(描述该数据项的数据类型)、值域(描述该数据项的取值范围)、编辑方式(描述该数据项在输出时的编辑要求)、与其他数据项的关系(有利于数据的合法性检查)和备注等。

数据字典:数据字典用于定义数据流图中各个图元的具体内容,为数据流图中出现的图形元素做出确切的解释。

层次方框图:是用树形结构的一系列多层次的矩形框描绘数据的层次结构。

E-R图:实体-联系(E-R关系)图,用于描述应用系统的概念结构数据模型。

软件测试:指利用人工或自动的方法执行和评价各个模块的过程。

白盒测试:也称结构测试或逻辑驱动测试。把测试对象看作一个打开的盒子,测试人员必须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

黑盒测试:又称为功能测试或数据驱动测试。把测试对象看作一个黑盒子,不需测试软件产品的内部结构和处理过程,只在软件的接口处进行测试。

逻辑覆盖:是白盒测试法的最常用的一种测试用例技术,是对一系列测试过程的总称,这组测试过程按照越来越完全的程度进行路径的测试。逻辑覆盖是以程序内部的逻辑结构为基础,要求测试人员对程序的逻辑结构有清楚的了解。追求程序内部的逻辑结构覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计覆盖程度较高的或覆盖最有代表性的路径的测试用例。

等价分类法:该方法是一常用的黑盒测试用例设计方法。把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

集成测试:集成测试是在模块测试完成后,对由多个模块组装在一起的部件进行测试,又称为“组装测试”。其目的是检测程序单元或部件的接口关系是否符合概要设计阶段的要求。集成测试的重点在于检查模块之间接口的有关问题,发现公共数据与全程变量引起的模块间的相互干扰作用。

回溯法:在小程序中常用的一种有效的调试技术。具体做法是,分析错误表象,确定症状位置,人工沿着程序的控制流往回追踪源程序代码,直到找到错误原因为止。

功能测试:即黑盒测试,依据需求说明书,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程,只在软件的接口处进行测试。

性能测试:检查和评估系统执行的响应时间、处理速度、网路承载能力、操作方便灵活程度、运行可靠程度等。

安全性测试:检查系统在容错功能、恢复功能、并发控制、安全保密等方而是否达到设计要求。

静态测试:又称静态分析,指被测试程序不在机器上运行,而是采用人工检测和计算机辅助对被测程序的数据流和控制流等信息进行静态分析,找出系统的缺陷,写出测试报告。

动态测试:指通过运行程序发现错误。一般意义上的测试大多是指动态测试。

五、问答题

9、试说明软件生存周期的概念,并阐述每个阶段的主要任务与作用。

软件产品从诞生到消亡的过程,称为软件产品的生存周期。

软件生存周期可分为三个大的阶段:定义阶段、开发阶段、运行与维护阶段。

定义阶段主要是进行(1)可行性分析;(2)制定开发计划;(3)需求分析。

开发阶段主要是进行(1)系统设计;(2)程序设计;(3)软件测试

运行维护阶段主要是进行(1)系统运行;(2)系统维护。

1、常用的软件开发模型有那几种?常见的软件生存周期模型有哪几种?

常用的软件开发模型有瀑布模型、原型模型、“空壳”模型、演化模型(增量模型、螺旋模型)、面向对象模型(喷泉模型、构件模型)、智能模型、综合模型等;现代软件开发模型主要有:敏捷软件开发、精益软件开发、Scrum软件开发、极限编程、统一过程方法、微软开发方法等。

常见的软件生存周期模型有瀑布模型、原型模型、“空壳”模型、演化模型(增量模型、螺旋模型)、面向对象模型(喷泉模型、构件模型)、智能模型、综合模型等。

2、简述结构化程序设计方法。结构化程序设计方法的主要优点、不足是什么?

结构化开发方法,又称面向过程开发方法。结构化开发方法由结构化分析方法、结构化设计方法及结构化程序设计方法构成。首先用结构化分析对软件进行需求分析,然后用结构化设计方法进行总体设计,最后是结构化编程。其主要特点是快速、自然和方便。

5、成本/效益分析的目的是什么?可用哪些指标进行度量?

软件开发的成本,主要依据软件的规模、开发的工作量、人力投入、设备及其他投入等进行估算。其中,开发工作量估算和人力投入估算是成本估算的两大核心内容。而开发工作量主要受到软件规模、软件复杂度、开发环境以及人员技术水平等诸多因素影响。因此成本估算,不可能十分准确,况且项目还未开发成功,环境和条件也不断变化,估算的准确性仅取决于本项目,还要凭借开发人员对过去开发软件系统的历史数据的经验积累,历史数据越充分,估算新开发项目时所采用的估算指标才能越接近于实际情况。

7、为什么数据流图要分层?画分层数据流图一般需要注意什么?

数据流图采用的是“自顶向下,由外到内,逐层分解”的思想,开发人员要先画出系统顶层的数据流图,然后再逐层画出低层的数据流图。顶层的数据流图要定义系统范围,并描述系统与外界的数据联系,它是对系统架构的高度概括和抽象。底层的数据流图是对系统某个部分的精细描述。好处是结构明确、层次清晰、便于变更、修改。越是底层,越应细致。

9、软件详细设计的主要任务是什么?

主要任务有:(1)为每个模块设计算法,选择某种适当的工具表达算法的过程,详细描述算法过程。(2)确定每个模块使用的数据结构,为以后的编写程序做好充分的准备。(3)确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其他模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档,交付作为下一阶段(编码阶段)的工作依据。

软件工程考试复习题--CDIO

《软件工程》期末考试复习训练题 一、选择题 1、软件质量的好坏决定着软件的生命力,一般说来,一个质量好的软件应具备(D)。 A、功能正确、界面友善、占内存少、足够可靠、易于维护 B、功能正确、结构良好、程序短小、足够可靠、易于维护 C、功能正确、界面友善、速度足够、足够可靠、易于维护 D、功能正确、界面友善、程序易读、结构良好、文档齐全 2、黑盒子、白盒子测试法是常采用的测试方法,其中白盒子测试主要用于测试(D )。 A、结构合理性 B、软件功能 C、程序正确性 D、程序内部结构 3、在以下几种耦合中,最低耦合是(C )。 A、数据耦合 B、内容耦合 C、非直接耦合 D、公共耦合 4、面向对象的程序设计方法具有比结构化程序设计方法无比优越性,是因为(B ) A、OO方法具有封装性、动态性、多态性 B、O O方法具有封装性、继承性、多态性 C、O O方法具有封装性、客观性、动态性 D、OO方法具有客观性、动态性、动态性 5、UML中采用(C )表现系统的动态性 A、类图 B、对象图 C、交互图 D、配置图 6、软件工程是一门交叉学科,其研究领域包括(ABD)。 A、软件开发模型与开发方法 B、软件开发环境与工具 C、计算机辅助设计与制造CAD/CAM D、软件工程经济学 7、可行性研究的主要任务是了解客户的要求及现实环境,从技术、经济和社会因素等三方 面研究并论证本软件项目的可行性,编写可行性研究报告,制定( B)。 A、项目总体规划 B、初步项目开发计划 C、需求规格说明书 D、总体解决方案 8、软件系统开发对技术性能的指标要求主要包括:存储容量限制、执行速度、响应时间和 (A)等。 A、吞吐量 B、安全性 C、正确性 D、可靠性 9、需求分析过程负责分析当前系统与目标系统的差别,建立目标系统的() A、物理模型 B、逻辑模型 C、过程模型 D、数据模型 10、问题分析图(PAD)包括的基本控制结构有:顺序结构、选择结构、重复结构和()。 A、并行结构 B、多分支选择型 C、逻辑结构 D、物理结构 11、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程,具体包括对 象模型、动态模型和()三个子模型。 A、过程模型 B、资源模型 C、功能模型 D、交互模型 12、模块内聚度越高,说明模块内各成分彼此结合的程度越() A、松散 B、紧密 C、无法判断 D、相等 13、结构化程序设计的三种基本控制结构是()。 A、过程、子程序和分程序 B、顺序、选择和循环 C、递归、堆栈和队列 D、调用、返回和转移 14、面向对象模型主要由以下哪些模型组成()。 A、对象模型、动态模型、功能模型 B、对象模型、数据模型、功能模型 C、数据模型、动态模型、功能模型 D、对象模型、动态模型、数据模型

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件工程复习题答案

一、选择题 1.软件工程研究的主要内容有(ABCD) 2.A. 软件开发方法、技术 B. 软件开发工具及环境 3.C. 软件管理技术 D. 软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 8.软件危机的主要表现是(BD) 9.A. 软件成本太高 B. 软件产品的质量低劣 10. C. 软件开发人员明显不足 D. 软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A. 机构需求 B. 产品需求 C. 外部需求 D. 领域需求 13.需求分析的作用是(ABCD) 14. A. 定义软件的范围及必须满足的约束 15. B. 确定软件的功能和性能及与其他系统成分的接口 16. C. 建立数据模型、功能模型和行为模型 17. D. 最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A. 获取需求 B. 需求分析与建模 C. 确认需求 D. 进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A. 缺乏领域知识 B. 存在默认的知识 22. C. 存在多个知识源 D. 客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A. 功能分析方法 B. 结构化分析方法 25. C. 信息建模法 D. 面向对象的分析方法 26.数据词典中可包含的条目有(ABCD) 27.A. 数据流 B. 数据项 C. 文件 D. 加工 28.属于分布式的软件体系结构有(B) 29.A. 仓库模型 B. 客户/服务器模型 C. 分布式对象结构 D. 中间件 30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合32.A. 1 2 3 4 5 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型35.A. 1 2 3 4 5 6 B. 1 2 4 5 3 6 C. 3 2 4 1 5 6 D. 6 5 4 3 2 1 36.(C)是指相同的操作(或函数、过程)作用于不同的对象上并获得不同的结果37.A. 继承性 B. 封装性 C. 多态性 D. 动态绑定 38.以下UML的几种图中,属于动态模型的有(ACD) 39.A. 状态图 B. 类图 C. 合作图 D. 顺序图 40.以下软件复用中,抽象程度最低的是(A) 41.A. 代码的复用 B. 设计结果的复用 C. 分析结果的复用 D. 测试信息的复用42.以下软件复用中,抽象程度最高的是(D) 43.A. 代码的复用 B. 设计结果的复用 C. 分析结果的复用 D. 测试信息的复用

软件工程试题与答案 (6)

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程复习题库(挂答案)

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合

7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程试题及答案34385

软件工程期末试卷(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.条件组合覆盖

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1. _等价划分________ 是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2?—数据流图_________ 和数据字典共同构成了系统的逻辑模型。 3?盒图也称为 _ N-S图 ________ 。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4. ___________________________________ 软件有效性,指软件系统的时间和空间效率。 5. IPO图的中文意思是结构化设计中变换型结构的输入(In put )、加工 (Processing )、输出(Output )__________________ 。 6. ___________________________ 数据流图有四种基本成分: _______________________________ 源、终点,处理,存储,数据流________________________ 。 7 .数据字典有以下四种条目:数据流、数据项、数据存储、基本加工,其 中数据项是组成数据流和数据存储的最小元素。 &软件工程中的结构化分析SA是一种面向—数据流___________ 的分析方法。 9 .软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个_由下而上 的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到 高内聚、_低 _________ 耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1. 常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型 2. 软件生存周期一般可分为—问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3. 软件测试的步骤:单元、集成、系统、验收。 4. 数据流图的基本符号包括―加工、数据流、数据存储文件、汇点—。 5. IPO图由—输入_________ 、处理和输出三个框组成。这个图的特点是能够直 观的显示三者之间的关系。 6. 面向对象方法是一种运用—类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7?分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的_逆向工程________ 。&程序测试是对编码阶段的语法错、语义错和运行错____________ 进行查找的编码执行活

软件工程考试题(含答案)

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件工程期末考试复习题-精品

软件工程期末考试复习题-精品 2020-12-12 【关键字】方案、情况、方法、环节、条件、动力、空间、文件、质量、计划、运行、传统、认识、问题、系统、机制、有效、务必、密切、整体、尽早、平衡、合理、良好、合作、沟通、执行、统一、发展、细化、建立、制定、提出、发现、了解、研究、特点、突出、关键、安全、稳定、网络、准则、成果、要素、基础、需要、素质、环境、工程、项目、职能、资源、体系、能力、需求、方式、作用、标准、增量、结构、科学性、任务、反映、速度、关系、分析、提倡、逐步、形成、满足、严格、规划、管理、保证、维护、服务、指导、支持、优化、调整、完善、方向、适应、实现、提高、实施、改进、规范、中心、关心、规范化、有效性、复杂性、重要性 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分) 软件工程 1.软件产品的开发主要是(D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是(C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.与计算机科学的理论研究不同,软件工程是一门( C )学科。 A.理论性 B.原理性 C.工程性 D.心理性 5.软件工程的出现主要是由于( C )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 6.在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( D ) A、工作阶段间的等待时间 B、生产原型的复杂性 C、参与人员所需的工作站数 D、参与人员之间的通信困难 7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是(C ) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 8、下列不属于软件工程方法学三要素的是( D ): A、方法 B、工具 C、过程 D、操作 周期 1.将每个模块的控制结构转换成计算机可接受的程序代码是(A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 2.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中 组装测试的计划是在( C )阶段完成的?

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 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 ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

《软件工程》期末考试复习题及参考答案

软件工程复习题 (课程代码252258) 一、填空题(本大题共60小题) 1.数据项是指__不可再分解的___数据单元。 2.软件概要设计的主要任务就是___软件结构的设计___。 3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。 4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数 据存储对象___。 5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此 软件具有容错功能的软件。 6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植 性、可使用性和效率。 7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。 8.软件结构是以模块为基础而组成的一种控制层次结构。 9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。 10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程, 它包括方法、工具和过程三个要素。 11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。 12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件 13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。 14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执 行控制或协调功能,这样的系统就是____完全因子分解_____的系统。 15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照 原样工作的特性。 16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__ 维护。 17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。 18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。 19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。 20.软件不存在磨损和老化问题,但却存在着____退化__问题。 21.软件工程的各个阶段中,________概要设计__________阶段是将软件需求转化为数据结

软件工程复习题及答案完整

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统

相关文档
相关文档 最新文档