《软件工程》练习题
软件工程练习题

软件工程选择题:(B)1.“软件危机”产生的主要原因是。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件(D)2.软件工程学的一个重要目标是。
A.提高程序的执行效率B.降低程序对存储空间的要求C.提高软件的可理解性D.提高软件的可维护性(D)3.编写程序的工作量通常占用软件开发总工作量的。
A.80%B.60%C.40%D.20%(A)4.数据字典是对数据定义信息的集合,它所定义的对象都包含于A.数据流图B.程序框图C.软件结构D.方框图(B)5.可行性分析是在系统开发的早期所做的一项重要的开发的决策依据,因此必须给出的回答。
A.确定B.行或不行C.正确D.无二义(C)6.需求分析阶段最重要的技术文档之一是。
A.项目开发计划B.设计说明书C.需求规格说明书D.可行性分析报告(C)7.为了提高模块的独立性,模块内部最好是( )。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚(D)8.需求分析阶段的任务是确定。
A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能(D)9.一个成功的测试可以。
A.表明程序没有错误B.发现所有错误C.提高软件可靠性D.发现尚未发现的错误(A)10.关联是建立之间关系的一种手段。
A.类B.对象C.角色D.属性(A)11.软件详细设计的主要任务是确定每个模块的。
A.算法和使用的数据结构B.外部接口C.功能D.编程(B)12.程序的三种基本控制结构是( )。
A.过程、子程序积分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移(D)13.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试。
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑(B)14.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行A.测试B.度量C.评审D.维护(A)15.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为,此定义包括一组数据属性和在数据上的一组合法操作。
《软件工程》试题及参考答案(第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.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程练习题

《软件工程》练习题一、判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(错)3.JAVA语言编译器是一个CASE工具.(对)。
4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(错)5.软件模块之间的耦合性越弱越好。
(对)6.数据库设计说明书是一个软件配置项(对)7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板.(错)8.过程描述语言可以用于描述软件的系统结构。
(错)9.如果通过软件测试没有发现错误,则说明软件是正确的.(错)10.快速原型模型可以有效地适应用户需求的动态变化。
(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(对)12.集成测试主要由用户来完成。
(错)13.确认测试计划应该在可行性研究阶段制定(错)14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可.(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(对)16.用例常被用在项目的需求分析阶段,对项目的测试计划和用户指南也有用处。
(对)二、单选题1.瀑布模型的关键不足在于(2)(1)过于简单(2)不能适应需求的动态变更(3)过于灵活(4)各个阶段需要进行评审2.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)(1)关联和泛化(2)继承和一般(3)聚集和消息传递(4)继承和方法调用3.以下哪一项不是软件危机的表现形式(3)(1)成本高(2)生产率低(3)技术发展快(4)质量得不到保证4.以下哪一项不是面向对象的特征(4)(1)多态性(2)继承性(3)封装性(4)过程调用5.面向对象模型主要由以下哪些模型组成(1)(1)对象模型、动态模型、功能模型(2)对象模型、数据模型、功能模型(3)数据模型、动态模型、功能模型(4)对象模型、动态模型、数据模型6.软件可行性研究一般不考虑(4)(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题7.软件维护的副作用主要有以下哪几种(3)(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用8.软件项目计划一般不包括以下哪项内容(4)(1)培训计划(2)人员安排(3)进度安排(4)软件开发标准的选择和制定9.以下哪一项不属于面向对象的软件开发方法(3)(1)coad方法(2)booch方法(3)jackson方法(4)omt方法10.以下哪种测试方法不属于白盒测试技术(2)(1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试11.需求规格说明书的作用不应该包括(D)。
软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
《软件工程》题库及参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
《软件工程》11套考试复习练习题、作业题(含答案)

作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系 20. “软件危机”是指( C ) 。 A. 计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C ) 。 A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 22.数据流图(DFD)中的每个数据处理至少需要( D ) 。 A.一个输入数据流 B.一个输出数据流 C.一个输入或者输出数据流 D.一个输入数据流和一个输出流 二.判断题(每小题 2 分,共 24 分) 1.文档是软件产品的一部分,没有文档的软件就不称其为软件。 ( Y ) 2.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 ( N ) 3.数据流图建立系统的功能模型,它由数据流、数据处理和数据存贮组成。 (N ) 4.在结构化分析建模中要建立的是对象模型、功能模型和行为模型,它们以数据字典为核心。 ( N ) 5.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 (Y ) 6.边界值分析方法是取输入/输出等价类的边界值来构成测试用例的测试方法。 (Y ) 7.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( N ) 8.在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 ( Y ) 9.软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。 ( N ) 10.面向对象方法学的四要素是对象、类、继承和消息通信。 ( Y ) 11.详细设计的结果基本最终决定了软件的质量。 ( Y ) 12.在详细设计中常采用的工具有层次图、PAD(问题分析图) 、程序流程图、盒图等。 ( N ) 三.填空题(每空 2 分,共 24 分) 1.为了便于对照检查,测试用例应由输入数据和预期的 输出结果 两部分组成。 2.软件结构是以 模块 为基础而组成的一种控制层次结构。 3.如果知道软件的规格说明书描述的程序功能,那么就可以采用 进行测试。 4.当 A 模块调用 B 模块时若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数值耦合。 5.软件概要设计关键的一步是 确定软件体系结构 __,它直接影响下一阶段详细设计和编码的工作。 6. 数据流图中的箭头表示 数据流 , 椭圆或圆形表示 数据处理 , 矩形表示 数据源点或终点 。 7.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个___自底向上或相反____集成的过程。 8.按数据流的类型,面向数据流的设计方法有两种设计策略,它们是变换分析设计和 事务分析设计。 9.数据流图仅反映系统必须完成的逻辑功能,所以它是一种 功能 模型。 10.软件结构中的 深度 表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。 四.简答题(每小题 5 分,共 10 分) 1.衡量模块独立性的两个定性标准是什么(2 分)?这两个标准的定义分别是什么(2 分)?在我们的软件设计 中,关于模块独立性我们追求的目标是什么 答:衡量模块独立性的两个定性标准是内聚和耦合(2 分) 。 耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元 素彼此结合的紧密程度。在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(。 2.简述结构化程序设计方法的基本特点。 (5 分) 答: 1) .是尽可能少用 goto 语句的程序设计方法; 2) .每个代码块都单入单出; 3) .使用控制结构:顺序、选择和循环+Do_UNTIL 和 Do_CASE; 4) .自顶向下逐步求精。
A、
X Y
B、
WHห้องสมุดไป่ตู้LE M B
C、
X Y
D、
C UNTIL N
5.下列描述错误的是( D ) 。 A、数据流图将各种信息流抽象成数据流的形式 B、数据流图不反映控制关系、调用关系 C、数据流图不反映处理逻辑的先后顺序 D、数据流图不反映数据的流向 三、多项选择题(将正确的答案代码填入括号中,每小题3 分,共15分) 1.需求分析阶段应该完成的文档资料包括(ABCD ) 。 A、系统规格说明 B、数据要求 C、用户系统描述 D、修正的开发计划 2.下列关于模块的描述,正确的是( ABCD ) 。 A、具有独立的模块软件比较容易开发出来 B、独立的模块比较容易测试和维护 C、模块的独立程度可以通过内聚和耦合标定 D、独立的模块可以完成一个相对独立的特定子功能 3.关于内容耦合的描述正确的是( AD ) 。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式( BCD ) 。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 5.软件测试主要包括( ABC )方面的差错和纠错。 A、软件计划 B、软件设计 C、软件编码 D、软件价格 四、判断题(正确的在括号内打上“√” ,错误的打上“×” 。每小题 3 分,共 30 分) 2.模块越多开发成本越小。 ( N ) 3.内聚是指一个软件结构内各个模块之间互连程序的度量。 ( N ) 4.结构化设计属于面向数据流的设计方法。 ( Y ) 5.详细设计是在概要设计之后进行的它利用概要设计的结果对系统中的每个模块给出足够的过程性描述 y 6.程序运行过程中出现错误叫做容错。 ( N ) 7.软件测试的目的是证明程序没有错误。 ( N ) 8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。(N) 五、问答题(每小题 5 分,共 20 分)
第 2 页 共 11 页
9. 集成测试主要由用户来完成。 ( N ) 10. 软件危机完全是由于硬件问题引起的。 ( N ) 1. 什么是软件危机?为什么会产生软件危机? 2. 耦合性有哪几种类型? 其耦合度的顺序如何 3. 简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则? 4. 什么是黑盒测试法? 五、简答题(每小题 5 分,共 20 分) 1. 答:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何 开发利用软件,三是如何维护数量不断膨胀的已有软件。产生软件危机的原因,一方面与软件本身的特 点有关,另一方面和软件开发与维护的方法不正确有关。 2. 答:低:非直接耦合 数据耦合标记耦合 控制耦合外部耦合 公共耦合内容耦合 :高 3. 答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则: 必须能够表达和理解问题的数据域和功能域;必须按自顶向下、 逐步分解的方式对问题进行分解和不断 细化;要给出系统的逻辑视图和物理视图。 4. 答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是 否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。 1.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 2.软件生命周期中所花费用最多的阶段是( D ) 。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 3.需求分析中开发人员要从用户那里了解( A ) 。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 4.测试的关键问题是( D ) 。 A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 5. ( D )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具 和过程三个要素。 A.软件过程 B.软件测试 C.软件生命周期 D.软件工程方法学 6. ( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性 B.多继承 C.类的可复用 D.信息隐藏 7.单元测试的测试用例主要根据( D )的结果来设计。 A.需求分析 B.源程序 C.概要设计 D.详细设计 8.随着软硬件环境变化而修改软件的过程是( B ) 。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 9.在白盒测试技术测试用例的设计中, ( A )是最弱的覆盖标准。 A.语句覆盖 B.路径覆盖 C.条件组合覆盖 D.判定覆盖 10.结构化程序设计的一种基本方法是( C ) 。 A.筛选法 B.迭代法 C.逐步求精法 D.递归法 11.不适合作为科学工程计算的程序设计语言是( D ) 。 A.Pascal B.C C.Fortran D.Prolog 12.只有单重继承的类层次结构是( C )层次结构。 A.网状型 B.星型 C.树型 D.环型 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14.瀑布模型本质上是一种( A )。 A.线性顺序模型 B.顺序迭代模型 C.线性迭代模型 D.及早见产品模型 15.软件维护产生的副作用,是指( C )。 A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作 16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度 B.宽度 C.扇入 D.扇出
第 1 页 共 11 页
1.什么是软件生存期。 2.简述什么是系统流程图。 3.为什么数据流图要分层? 4.软件的质量反应为哪些方面的问题? 五、问答题(每小题 5 分,共 20 分) 1.答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历 的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。 2.答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每 个部件(程序、文件、数据库、表格、人工过程等) 。系统流程图表达的是部件的信息流程,而不表示对信息进 行加工处理的控制过程。 3.答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题, 需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 4.答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。 在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到保证。 往往会有一些隐含的需求没有明确地提出来。 如果软件只满足那些精确定义了的需求而没有满足这些隐含的 需求,软件质量也不能保证。软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量 要求不同而不同。 1. 软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行 与维护阶段。 2. 按软件的功能进行划分,软件可以划分为 系统软件 、 支撑软件 和应用软件。 3. 可行性研究主要集中在以下四个方面 经济可行性 、 技术可行性 、法律可行性 和 抉择。 4. 用户界面的 可使用性 是用户界面设计最重要的也是最基本的目标。 5. __数据流图________和__数据字典___共同构成系统的逻辑模型。 6. 软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法) 。 7. 单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 1. 下列哪个阶段不属于软件生存周期的三大阶段( C ) 。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2. 需求分析是( A ) 。 A、 软件开发工作的基础 B、 软件生存周期的开始 C、 由系统分析员单独完成的 D、 由用户自己单独完成的 3. 原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B ) 。 A、 明确的需求定义 B、完整的生命周期 C、 较长的开发时间 D、熟练的开发人员 4. 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为 ( A )。 A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 5. 一般说来,投入运行的软件系统中有错误( A )。 A、不是不可以理解的 B、是不能容忍的 C、是要求退货的理由 D、是必然的 1. 下面哪些测试属于白盒测试( ae )。 A、基本路径测试 B、等价类划分 C、边界值分析 D、错误推测 E、逻辑覆盖测试 2. 下列哪些选项是属于内容耦合( abc ) 。 A、 一个模块直接访问另一个模块的内部数据 B、一个模块有多个入口 C、一个模块不通过正常入口转到另一模块内部 D、 一个模块只有一个入口 3. 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( acd ) 。 A、自顶向下 B、自底向上 C、分层绘制 D、逐步求精 1. 在进行总体设计时应加强模块间的联系。 ( N ) 2. 系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。 ( N ) 3. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 ( N ) 4. 在程序调试时,找出错误的位置和性质比改正该错误更难。 ( Y ) 5. 以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。 ( Y ) 6. 如果通过软件测试没有发现错误,则说明软件是正确的。 ( N ) 7. 快速原型模型可以有效地适应用户需求的动态变化。 ( Y ) 8. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。 ( Y )