第一篇:软件工程试题及答案(A)
A卷
1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,需求分析阶段出错,对软件的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的面向对象的方法。
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。
10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。
12、以下不属于白盒测试技术的是(等价类划分)。
13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护)。
14、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在软件生命周期的(每个阶段结束之前)。
15、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。
16、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系统流程图)。
二、填空题(每题1分,共10分)
1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
2、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。
4、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
6、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
8、设计任何一个人机界面,一般必须考虑(系统响应时间、用户帮助机制、错误信息处理和命令方式四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为(白盒)测试法。
10、(耦合度)是对软件结构中模快间关联程度的一种度量。
三、判断题(每题1分,共10分)
1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。()
2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。()
3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。()4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。()
5.流程图也称为程序框图是最常用的一种表示法。
6.面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。()
7.理想的人机界面应针对具有典型个性的特定的一类用户设计。()
8.数据输入的一般准则中包括尽量增加用户输入的动作。()9.用穷举测试是较现实的测试方法。()
10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。()
四、论述题
1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和管理因素外,还有程序自身的因素,具体影响因素可归纳为:a)软件系统的规模; b)软件系统的年龄; c)软件系统的结构。试回答以下问题:
1)给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(5分)
2)扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作量的因素。(5分)3)简单传述软件可维护性度量的含义。(5分)
2、可行性研究报告的主要内容有哪些?(5分)
3、系统设计的内容是什么?(10分)
五、综合题(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。
试写出以上系统中生产科和技术科处理的软件结构图。
软件工程试题A答案
一、选择题
1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A
12、D
13、A
14、A
15、C
16、D
二、填空题
1、信息流动
2、经济
3、宽度优先策略
4、中间数据结构或中间文件
5、使用的数据
6、软件问题
7、在其他独立路径中未有过
8、系统响应时间
9、白盒测试法
10、耦合度
三、判断题
1、√
2、X
3、√
4、√
5、√
6、√
7、√
8、X
9、X
10、X
四、论述题
1、系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。
系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。
系统的结构。系统结构合理与否,会给维护带来困难。
2、增加维护工作量的因素有:
软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。减少维护工作量的因素有:
结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。
3、可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、个可行性研究报告的主要内容如下:
(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。
(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。
(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。
(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
3、系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。
(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。
(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。
(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。
(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。
(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。
如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。
(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。
(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。
五、综合题
画出生产科图的给6分,画出技术科的给4分。
第二篇:软件工程试题及答案
1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。
3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。
4、软件工程的出现主要是由于(软件危机的出现)。
5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。
7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。
10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶
段)。
11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。
12、以下不属于白盒测试技术的是(等价类划分)。
13、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护)。
14、保证软件质量的手段有复审、复查、管理复审和测试等。其中复审发生在软件生命周期的(每个阶段结束之前)。
15、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。
16、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系统流程图)。
二、填空题(每题1分,共10分)
1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
2、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度
优先策略和(宽度优先策略)。
4、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
6、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
8、设计任何一个人机界面,一般必须考虑(系统响应时间)、用户帮助机制、错误信息处理和命令方式四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为(白盒)测试法。
10、(耦合度)是对软件结构中模快间关联程度的一种度量。
三、判断题(每题1分,共10分)
1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(T)
2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(F)
3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(F)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的
可视输出、或设计一些复杂的算法等场合。(T)5.流程图也称为程序框图是最常用的一种表示法。(T)6.面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(T)
7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(T)
8.数据输入的一般准则中包括尽量增加用户输入的动作。(F)9.用穷举测试是较现实的测试方法。(F)
10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。(T)
四、论述题
1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和管理因素外,还有程序自身的因素,具体影响因素可归纳为:a)软件系统的规模; b)软件系统的年龄;c)软件系统的结构。试回答以下问题:
1)给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(5分)
答:系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。
系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。
系统的结构。系统结构合理与否,会给维护带来困难。2)扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作量的因素。(5分)
答:(1)增加维护工作量的因素有:软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。(2)减少维护工作量的因素有:结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。3)简单传述软件可维护性度量的含义。(5分)
答:可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、可行性研究报告的主要内容有哪些?(5分)
3、系统设计的内容是什么?(10分)
五、综合题(10分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下
达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。
试写出以上系统中生产科和技术科处理的软件结构图。
软件工程试题A答案
一、选择题
1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.C 11.⑴B⑵D⑶A⑷D⑸A
12、D
13、A
14、A
15、C
16、D
二、填空题
1、信息流动
2、经济
3、宽度优先策略
4、中间数据结构或中间文件
5、使用的数据
6、软件问题
7、在其他独立路径中未有过
8、系统响应时间
9、白盒测试法
10、耦合度
三、判断题
1、√
2、X
3、√
4、√
5、√
6、√
7、√
8、X
9、X
10、X
四、论述题
1、系统的规模。指软件系统规模的大小,系统规模越大,维护困难越大。
系统的年龄。系统运行时间越长,可能经过多次修改,从而造成维护的困难。
系统的结构。系统结构合理与否,会给维护带来困难。
2、增加维护工作量的因素有:
软件系统的年龄和规模、结构合理性、程序复杂性、用户的数量、应用的变化和文档的质量。减少维护工作量的因素有:
结构化技术的使用、自动化工具的使用、数据库技术应用、高性能软件使用、新的软件技术的应用。
3、可维护性度量表示软件系统维护工作的强度或维护工作量的大
小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。
2、个可行性研究报告的主要内容如下:
(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。
(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。
(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。
(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
3、系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。
(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。
(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。
(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须 9
完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。
(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。
(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。
如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。
(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。
(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。
五、综合题
第三篇:软件工程试题及答案
软件工程试题及解答
一,单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
参考答案为:C
A.详细的B.全面的
C.简化的、压缩的D.彻底的
[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。
2.系统流程图用于可行性分析中的_____的描述。
参考答案为:A
A.当前运行系统
B.当前逻辑模型
C.目标系统
D.新系统
[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。
3.系统流程图是描述_____的工具。
参考答案为:C
A.逻辑系统
B.程序系统
C.体系结构
D.物理系统
[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。
4._______工具在软件详细设计过程中不采用。
参考答案为:D
A.判定表
B.IPO图
C.PDL
D.DFD图
[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。
5.程序的三种基本控制结构是
参考答案为:B
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
6.程序的三种基本控制结构的共同特点是
参考答案为:D
A.不能嵌套使用
B.只能用来写简单程序
C.已经用硬件实现
D.只有一个入口和一个出口
[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。
7.产生软件维护的副作用,是指
参考答案为:C
A.开发时的错误
B.隐含的错误
C.因修改软件而造成的错误
D.运行时误操作
[解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。
8.维护中,因误删除一个标识符而引起的错误是_________副作用。
参考答案为:C
A.文档
B.数据
C.编码
D.设计
[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。
9.可维护性的特性中相互促进的是
参考答案为:A
A.可理解性和可测试性
B.效率和可移植性
C.效率和可修改性
D.效率和结构好
[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。
10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。
参考答案为:B
A.一般具体
B.整体部分
C.分类关系
D.主从关系
[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。
11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。
参考答案为:B
A.异步控制
B.同步控制
C.存取控制
D.基线控制
[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。
12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
参考答案为:A
A.登入
B.管理
C.填写变更要求
D.审查
[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。
13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要
参考答案为:D
A.消除错误
B.检测错误
C.避开错误
D.容错
[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。
14._____是以提高软件质量为目的的技术活动。
参考答案为:D
A.技术创新
B.测试
C.技术创造
D.技术评审
[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。
15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
参考答案为:C
A.开发过程基于功能分析和功能分解
B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整
[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。
16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫
参考答案为:D
A.生存期
B.面向对象设计
C.面向对象程序设计
D.面向对象分析
[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。
17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。
参考答案为:A
A.需求不确定性高的 B.需求确定的 C.管理信息
D.实时
[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。
18.原型化方法是一种_______型的设计过程。
参考答案为:A
A.自外向内
B.自顶向下
C.自内向外
D.自底向上
[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。
19.为了提高测试的效率,应该
参考答案为:D
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。
20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。
参考答案为:A
A.程序的内部逻辑
B.程序的复杂结构
C.使用说明书
D.程序的功能
[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。
二,填空题(本大题共10小题,每小题2分,共20分)
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。
解:信息流动
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从()角度评价开发一个项目是否可行。
解:经济
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。
解:宽度优先策略
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。
解:在其他独立路径中未有过
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
解:机器
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是()。
解:中间数据结构或中间文件
[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。
解:使用的数据
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。
解:软件问题
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。
解:维护支援
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。
解:FORTRAN语言
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/
1、FORTRAN语言都是工程计算中常用的语言。
三,名词解释(本大题共5小题,每小题3分,共15分)
31.经济可行性
解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。
32.社会可行性
解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。
33.投资回收期
解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。
34.对应关系
解:即有直接因果关系在程序中可以同时处理。
[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
35.结构冲突
解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
第四篇:软件工程模拟试题及答案2[推荐]
《软件工程》模拟B卷
专业年级姓名得分
一.名词解释(每个2分)
1. 软件危机
3.数据字典
4.模块
5.PDL
一、填空题(每题2分)
1.————是计算机程序及其说明程序的各种文档。————是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、——,——,总体设计,详细设计,——,——,维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
3.Jackson方法是一种————的开发方法。
4.M=P+K(C-D)是――――。
5.————的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
6.效益分有形效益和无形效益两种。有形效益可用纯收入、————、————等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
7.需求分析的基本任务是要准确回答系统必须“”的问题。
8.数据流图有四种基本成分:————、————、————、————。
9.通过————可以完成数据流图的细化。
二、单选题(每题2分)
1.软件生存周期包括可行性分析的项目开发计划、需求分析、概要设计、详细设计、编码、()、维护等活动。
A. 应用B.检测C.测试D.以上答案都不正确
2系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。E. 软件环境可行性、技术可行性、经济可行性、社会可行性
F. 经济可行性、技术可行性、操作可行性
G. 经济可行性、社会可行性、系统可行性
H. 经济可行性、实用性、社会可行性
3.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是()。
A.状态图B.数据流图C.系统结构图D.时序图
4.结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。
A. 目标B.数据流C.功能D.对象
5.模块(),则说明模块的独立性越强。
A. 耦合越强B.扇入数越高C.耦合越弱D.扇入数越低
6.()数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A. 变换型B.事务型C.结构化验室D.非结构化
7.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。
A. 数据结构B.实体关系C.数据流图D.E—R图
8.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的()和
耦合性。
A. 一致性B.作用域C.嵌套限制D.内聚性
9.在多层次的结构图中,其模块的层次数称为结构图的()。
A. 深度B.跨度C.控制域D.粒度
10.模块()定义为受该模块内一个判断影响的所有模块集合。
A. 控制域B.作用域C.宽度D.接口《软件工程》试卷B卷答案:[V`'f]C @
六、名词解释!w*k b*t }-FH-wHz @
1.指在计算机软件的开发和维护过程中所遇到的一系列严重问题。,^3@$f4G1Q 2.在整个生命周期内系统的累计经济效益(折合成现在值)与投资之差。
+eb$W1K Z!];y 3.是关于数据信息的集合。,DF'b,r d 4.是数据说明、可执行语句等程序对象的集合。}(t*Yp J r(H
5.是使用样机,使用户通过实践获得对未来系统的的概念,可以更准确提出要求。2E
Z)$x;X&C#z8M
七、填空
!Df#~e-b 1.软件文档
{^(oMa 2.可行性研究需求分析 编码 测试
p0m6Y
3.面向数据结构/m+Is?^
4.维护工作量模型 P-生产性工作量 C-复杂度 D-熟悉度 K-常数otBr&_#i
5.可行性研究
iEt_Z/JOK 6.投资回收期 回收率K.{ Vy-O bg
7.做什么
SC(Y'@+y G 8.源、终点,处理,存储,数据流8g i-W“o/b/K9D3pc
9.功能分解#b~0[ O M6VP{7SKxsw
10.子功能 组装
7z'L K7c0j
八、选择
W l.u1q1dKL w] 1.C2.B3.A4.B5.C6.A7.C8.D9.A10.B
5G7k-k-[Bk b'R4qw L
九、问答:
[/p!NsW aV 5.用符号描绘信息在系统中流动的情况,源点、终点、处理、数
据存储、数据流。$J(R |sA
.NTMKA
U#BD*p0}%^/n,uK]2~C2RB#F
-F3cSm O{9~
'^R2[ i{k 6.测试的目的是为了发现错误..|mgh|+Ja
7.两种都用于集成测试。渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。非渐增式先分别测每个模块,再把所有模块按设计要求
放在一起结合成所要的程序。Tt!SqpQ
8.答:自上而下,逐步求精_bn
C4u;K9^+hW
十、应用题oR+h+b0QQ8Hu
1.判定树如下:!o,uk%f)I-d4{@8E
年龄≤20岁初中脱产学习
9H!e$.Bh qtH高中电工
js”Lv%QQc H~ h?-Xos
高中或初中男性钳
工/D4KE#f9Y 确定职工工作――
h5U8F#g k @20岁<年龄≤40岁
A,ilS4d3~
n女性 车工大学技术员
RZ'Z“x0y8Y A年龄>40岁高中或初中材料员UM ~
XCZJh d5I
大学技术员
[:p$sV$R_:L
三、简答题(每题5分)Y8[ z,h'Wo|
6. 什么是数据流图?其中的基本符号各表示什么含义?
!N9gOz7pM1h&W 7. 软件测试的目的是什么?
pc;~ I0_ e!@ 8. 非渐增式测试与渐增式测试有什么区别? mNP)e@7B+|8s 4.结构化程序设计的思想是什么? ~_9D }SA4mdU
四、应用题(每题10分)
6biP4g.y&` 1. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定树描述上述问题。
s+B ^ D|5O 2.对以下程序进行测试:(d7HR;`cX
PROCEDUREEX(A,B:REAL;VARX:REAL);
4P h7p8k”M?/cPvBEGIN
.UsQ# j7h3Xn8zIF(A=3)OR(B> 1)THENX:=A×B
/{gT!?
EiM7rVc{hIF(A>2)AND(B=0)THENX:=A-3pf7b.N3sEND
dPn?&r N;};V-@Mr0~FO先画出程序流程图。再按语句覆盖法设计测试数据。
第五篇:软件工程答案
软件工程课后习题答案
殷锋主编·天津科学技术出版社
注:有些可能错误,读者自己注意
第一章
一、填空题:
1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具和过程。
3、软件开发的基本方法包括和
二、选择题:
1、C2、B3、C
第二章
一、填空题:
1、软件生存周期的各个过程可以分成三类,及主要生存周期过程、支持生存周期过程和组织的生存周期过程。
2、软件生存周期包括计划、需求分析、设计、程序编码、软件测试和运行维护6个阶段。
3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。
二、填空题
1、A2、B
三、判断题
1、√
2、X
第三章
三、填空题:
1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定够解决
2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行
3、需求分析阶段产生的最重要的文档是。
4、为解决一个复杂的问题,往往采取的策略是
5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是流图和E-R图。
6、数据流图中有四种负号元素,它们是点
7、数据字典中有四类条目,分别是
8、在IDEF0图中,表示系统功能的图形成为图。
9、在画分层的DFD时,父图与子图的输入/输出的数据流要
10、用于描述基本加工的小说明的三种描述工具是定表。
二、选择题
1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B
第四章
一、填空题
1、变换型系统由3部分组成:。
2、模块的分解的基本原则是。
3、在软件开发的过程中必须遵循的软件工程原则有:和模块独立性。
二、选择题
1、D2、A3、A4、A5、B
三、判断题
1、√
2、X3、X4、√
5、X
第五章
二、填空题
1、软件测试是为了而执行程序的过程。
2、运行被测程序的方法称为测试。
3、动态测试中,主要测试软件功能的方法称为法
4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻
辑覆盖标准为判定/覆盖法。
5、要覆盖含有循环结构的所有路径是不可能的,一般通过限制来测试。
6、用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取之
范围,则可确定一个合理的等价类和两个不合理的等价类
7、凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是测。
8、集成测试中的具体方法是非渐增式、渐增式。
9、确认测试阶段的两项工作是。
10、在单元测试中,测试一个模块时,需要设计。
11、与编码风格有关的因素有数据说明、语句构造、输入/输出、效率等,其
中有个重要的因素是源程序的文档化。
三、选择题
1、B2、C3、B4、D5、D6、A7、B8、D9、A10、A11、C12、B13、D14、A15、C
第六章
一、填空题
1、用例之间的关系可以有包含关系、和。
2、面向对象的基本特包括:抽象、封装、和继承。
3、类与类之间可以有具有关联、聚合、和等关系。
二、选择题
1、C2、C3、B
三、判断题
1、√
2、√
3、X4、X
第七章
一、填空题
1、面向对像分析的步骤包括:分析问题域建立用例模型、发现和定义对象和类、识别对象的内部特征、识别对象的外部特征、识别对象之间的交互。
2、面向对象分析的第一步就是分析用户需求,在此的基础上建立建模。
3、用户需求包括系统的功能、性能、可靠性等非技术性要求,其中需求分析阶段需要着重考虑的是用户对系统的功能要求。
二、选择题
1、C2、D3、D
三、判断题
1、X2、√
3、X4、√
第八章
一、填空题
1、复用性
2、子系统
3、数据库设计
二、选择题
1、D2、C3、D4、D
三、判断题
1、X2、X3、√
第九章
一、填空题
1、测试
2、对对象之间交互的测试
3、待维护的软件是可以理解的、待维护的软件是可以修改的二、选择题
1、A2、B3、C
三、判断题
1、X2、√
第十章
一、填空题
1、直接度量、间接度量
2、人的因素、问题因素、过程因素、产品因素、过程因素
3、甘特图、时标网状图、PERT技术和CPM方法
4、项目风险、技术风险、商业风险;已知风险、可预测的风险、不可预测的风
险
5、项目经理、配置控制委员会、配置管理员、系统集成员、开发人员
6、配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计
7、按课题划分的模式、按职能划分的模式、矩阵型模式
8、(1)牢固掌握计算机软件的基本知识和技能
(2)善于分析、综合问题、具有严密的逻辑思维能力
(3)工作踏实、细致,遵循标准和规范,具有严格的科学作风
(4)工作中表现出耐心,毅力和责任心
(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系
(6)具有良好的书面和空头表达能力
9、(1)能把用户提出的非技术性要求加以整理提炼,以技术说明书的形式转告给分析员和测试员。
(2)能说服用户放弃一些不切实际的要求,以便保证合理的要求得以满足。
(3)能够把表面上似乎无关的要求集中在一起,归结为“需要什么”“要解决什么问题”,这是一种综合问题的能力。
(4)要懂得心理学,能说服上级领导和用户,即让他们理解什么事不切实际的要求。又使他们毫不勉强,乐于接受。
10、鼓励、引导、通信
11、选定标准、重大偏离、特殊情况
二、选择题1、2、3、4、5、6、7、8
三、判断题1、2、3、4、5、6、7、8