软件工程导论期中三班样卷
- 格式:doc
- 大小:35.00 KB
- 文档页数:7
软件工程期中试卷软件工程期中试卷一、引言本试卷旨在对学生在软件工程课程学习中所掌握的知识进行综合评估。
试卷分为以下几个章节,每个章节都覆盖了软件工程中的重要概念和技术。
请仔细阅读每个问题,并提供详细的答案。
二、软件工程基础1、什么是软件工程?请详细描述软件工程的定义和目标。
2、解释软件生命周期模型,并举例说明其中一种模型的特点和适用场景。
3、什么是需求工程?请解释需求工程的过程,并至少三种需求获取的方法。
三、需求分析和规格说明1、请解释需求规格的概念,并说明为什么需求规格是软件开发过程中至关重要的一步。
2、请详细描述需求分析过程中使用的UCD(用户中心设计)方法,并解释该方法的优势。
3、解释功能需求和非功能需求的区别,并举例说明每种需求的特点和要求。
四、设计和建模1、请解释面向对象设计的基本原则,并说明每个原则的作用和应用方法。
2、什么是UML?解释UML中的三种基础建模图(类图、用例图和时序图)的作用和语法规则。
3、请解释软件架构的概念,并描述常见的三种软件架构模式。
五、代码实现和测试1、请解释软件开发中的迭代和增量开发方法,并说明它们的优缺点。
2、解释软件测试的概念和目标,并至少三种常见的软件测试方法。
3、请描述持续集成的概念和好处,并举例说明持续集成在软件开发中的应用。
六、软件项目管理1、解释软件项目管理的概念和目标,并描述软件项目管理中的四个基本要素。
2、请解释敏捷开发方法,并说明敏捷开发方法与传统瀑布模型的区别。
3、请详细描述Scrum框架,并解释Scrum的角色、仪式和工件。
七、软件质量保证1、请解释软件质量保证的概念和意义,并至少三种常用的质量保证方法。
2、解释软件配置管理的概念和目标,并描述常用的配置管理工具和技术。
3、请解释软件不同类型的缺陷,并说明如何进行缺陷管理和修复。
八、项目部署和维护1、请解释软件部署的概念和步骤,并说明常见的软件部署工具和技术。
2、什么是软件维护?请描述软件维护的活动和类型,并解释为什么软件维护是软件生命周期中至关重要的一部分。
《软件工程导论》期中考试试卷一、填空题(本题20分,每空1分)1、软件是计算机程序、()及()的完整集合,将其统称为软件配置,这些项称为软件配置项。
2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、()和()。
传统方法学采用()技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以()为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。
3、软件测试的目标是(),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。
设计测试方案是测试阶段的关键技术问题,测试方案一般包括()、输入的测试数据和()。
4、模型是为了理解事物而对事物作出的一种抽象,由()和()组成。
对象模型描述了系统的静态结构,通常使用UML提供的()图来描述。
5、需求分析的基本任务是(),在需求分析结束前,系统分析员应该写出(),以书面的形式准确描述软件需求。
6、软件的分类,按其功能可分为:系统软件、()和应用软件。
7、软件设计一般分为概要设计和()两个阶段。
8、用UML进行设计通常需要()和()两类设计模型。
9、状态图描述一个类对象所经历的()以及事件发生时状态的()。
二、选择题(单选题,本题10分,每小题1分)1.软件产品的开发主要是()。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是()时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于()。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是()阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定()。
A.开发项目B.项目值得开发否C.规划项目D.维护项目6.面向对象的主要特征除对象唯一性、封装、继承外,还有()。
A、多态性B、完整性C、可移植性D、兼容7.软件生存周期中时间最长的是()阶段。
2012-2013学年第一学期注意:将答案写在答题纸上,写在试卷上无效!一、单项选择题(每题1分,共26 分)1.()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件产品B. 软件过程C. 软件测试D. 软件工程2.软件工程的基本目标是()。
A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品3.下面的()说法是正确的。
A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题4.大多数软件仍然是定制开发的,其原因在于()。
A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5.软件会逐渐退化而不会磨损,其原因在于()。
A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购6.()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A. 软件过程B. 软件工具C. 软件产品D. 软件工程7.软件过程的基本活动是()。
A. 分析、设计、实现、测试、演化B. 沟通、计划、建模、构造、部署C. 计划、分析、设计、实现、调试D. 沟通、风险管理、度量、产品化、评审8.软件开发的瀑布模型是()。
A. 适用于需求被清晰定义的情况B. 一种需要快速构造可运行程序的好方法C. 最适合于大规模团队开发的项目D. 已不能用于现代环境的过时模型9.软件开发的增量模型是()。
A. 适用于需求被清晰定义的情况B. 一种需要快速构造核心产品的好方法C. 最适合于大规模团队开发的项目D. 一种不适用于商业产品的创新模型10.快速原型开发模型是()。
一、填空题:1、软件的发展从开发工具来看,经历了从分离的开发工具到集成的___________开发系统,从简单的命令行调试器到方便的多功能的调试器等变化。
2、___________是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。
简明地表述为“___________”。
3、按照通常的软件规模分类方法,假设某软件程序规模为48K行,子程序数为830个,4个人的开发时间为18个月,请问该软件规模为_____型软件。
4、软件生成周期一般划分为计划、开发和运行三个时期,每一时期又区分为若干阶段。
其中开发时期有___________、系统设计、___________和测试四个阶段。
5、面向对象方法学包含了以下四个核心概念对象、类、______和消息。
其中,______是用于表示某些对象的共同特征(属性和操作)对象是其的实例。
6、请列举出二个软件开发模型:如净室模型、转换模型、___________和___________。
7、软件的分析建模中最常用的两种模型为___________和___________。
8、面向对象分析方法通过对对象、属性和操作的表示来对问题建模。
主要的OOA工具包括使用______、_____、对象-关系图和对象-行为图等。
9、软件设计一般包括数据设计、___________、___________、___________。
10、模块化设计的方法有___________和___________。
11、第三代高级语言是___________,而第四代语言是非过程化语言。
12、软件测试有静态分析和动态分析两种。
其中静态测试中的代码评审又可区分为代码会审、___________和___________。
13、从程序层次测试的角度,可以把程序错误划分为___________、___________和接口错误等。
14、在一个系统中多次使用一个相同的软件成分称为___________。
单项选择题(每小题1分,共10分)1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C )A 严格定义需求B 划分开发阶段C 规范文档格式D 分析控制流程3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D )(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合4、软件维护的四类维护活动是( A )(A)改正性维护,适应性维护,完善性维护和预防性维护。
(B)适应性维护,完善性维护,抢救性维护和辅助性维护。
(C)改正性维护,适应性维护,完善性维护和辅助性维护。
(D)适应性维护,完善性维护,抢救性维护和预防性维护。
5、主要从( A )几个方面进行系统可行性研究。
(A)技术可行性,经济可行性,操作可行性。
(B)技术可行性,经济可行性,系统可行性。
(C)经济可行性,系统可行性,操作可行性。
(D)经济可行性,系统可行性,时间可行性。
6、进行需求分析可使用多种工具,但( C )是不适用的。
(A)数据流图(B)判定表(C)PAD图(D)数据字典7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。
系统模型由对象模型、( C )组成。
A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )(A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图①软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
一、填空题(20分,每个空1分)1、软件生命周期可划分为、软件维护三个时期。
把这三个时期再细分为八个阶段,它们是、、需求分析、、、编码与单元测试、综合测试和运行维护。
2、一般而言,可行性研究主要从、、操作、法律与社会效益等五个方面研究软件项目的可行性问题。
3、应该从一致性、、现实性和等4个方面验证软件需求的正确性。
4、软件的总体设计过程通常由两个主要的阶段组成:阶段,确定软件系统的具体实现方案;阶段,确定软件结构。
5、通常把软件测试的方法分为和两大类。
6、软件投入运行后进入维护阶段。
其中,改正程序中的错误称为维护,增加或完善软件功能是维护,为满足新的运行环境或平台的要求而进行的是维护,为未来修改程序的维护是预防性维护。
7、软件项目的规模度量技术主要有两种,分别是技术和技术。
软件项目工作量是软件规模的函数,其计算单位通常是。
二、判断题(20分,每小题1分)请先阅读试题,然后在正确的结论后划√、错误的结论后划×。
1、软件开发过程中的错误暴露越迟,修复和改正错误的代价就越大。
()2、可行性分析后的需求分析就是解决目标系统的设计方案。
()3、软件生命周期的各个阶段中,开发阶段所花费的时间和代价是最大的。
()4、需求规格说明书在软件开发中具有重要作用,可以作为软件测试与维护的依据。
()5、文档是软件产品的一部分,没有文档的软件就不称其为软件产品。
()6、软件的可维护性就是指软件是可以修改的——可修改性。
()7、系统流程图描述的是系统的物理模型,数据流程图描述的是系统的逻辑模型。
()8、数据字典定义数据流程图中的数据流及数据流分量(数据元素)。
()9、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
()10、信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。
( )11、结构化分析法是面向数据流、建立在数据封闭原则上的需求分析方法。
()12、根据软件规模估算模型计算出的工作量,就是项目实际开发进度时的实际时间。
软件工程导论试卷(老师给的)一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( C )。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大 ( C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标 ( A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是 ( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( B)A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成 ( A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 ( C )A、分析阶段B、设计阶段C、编码阶段D、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动)情况。
一、单项选择(每题2分,共30分)1、总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构2、模块在同一段时间内完成各种初始化工作,这属于( C )。
A、偶然内聚B、逻辑内聚C、时间内聚D、过程内聚3、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称( C )A. 软件工程B. 软件周期C. 软件危机D. 软件产生4、软件详细设计的主要任务是确定每个模块的(A)A、算法和使用的数据结构B、外部接口C、功能D、编程5、软件结构图的形态特征能反映程序重用率的是( C )A、深度B、宽度C、扇入D、扇出6、为了提高模块的独立性,模块内部最好是( C )A、逻辑内聚B、时间内聚C、功能内聚D、通信内聚7.程序的三种基本控制结构是 C 。
A 过程、子程序、和分程序B 顺序、选择和循环C 递归、堆栈和队列D 调用、返回和转移8.可行性研究要进行一次 C 需求分析。
A.详细的 B.全面的 C.简化的,压缩的 D.彻底的9.(C )产生软件危机的原因主要与两个方面的问题有关:A)软件在计算机中很难识别,存在磁盘中也看不到。
B)软件设计对人的智商要求很高,也要求很高的资金投入。
C)软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D)软件很难理解,硬件也很复杂。
10.(B )软件开发瀑布模型中的软件定义时期各个阶段依次是:A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
11.(A )可行性研究主要从以下几个方面进行研究:A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
12.( C ) 耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:A)内容耦合,控制耦合,数据耦合,公共环境耦合。
a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是A) 路径的集合B)循环的集合C)目标的集合D)地址的集合c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序I.功能测试Ⅱ. 结构测试A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱa(3)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试c(4)下述陈述中,哪一个不是软件健壮性的度量指标?A)失败后重新启动所需的时间B)引起失败的时间所占的百分比D)失败前的平均工作时间D)在一次失败中数据恶化的概率b(5)对软件是否能达到用户所期望的要求的测试称为A) 集成测试B) 有效性测试C) 系统测试D) 验收测试a(6)在面向数据流的软件设计方法中,一般将信息流分为A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容I.数据描述Ⅲ. 模块描述II.功能描述Ⅳ. 性能描述A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ(8)软件测试一般分为三类,即I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试设计测试用例对程序进行测试,应属于A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ(9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。
A)模块间联系程度B)模块的功能强度C)信息隐蔽程度D)模块的复杂程度(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具I.结构图Ⅱ. 实体关系图Ⅲ. IPO图II.Ⅳ. 流程图Ⅴ. N-S图A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部A (2)C (3)A (4)C (5)B (6)A (7)D (8)B (10)C(11)试判断下列论述中哪个(些)是正确的I.软件系统中所有的信息流都可以认为是变换流II.软件系统中所有的信息流都可以认为是事务流III.事务分析和变换分析的设计步骤基本类似A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书C)总体设计报告D)有效性测试要求(13)软件设计中的软件过程其主要描述的是A)模块间关系B)模块操作细节C)模块控制方法D)模块类型(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?I.预防软件发生的错误Ⅱ. 发现改正程序错误Ⅲ. 提供诊断错误信息A)只有Ⅰ均不须B)只有ⅡC)只有ⅢD)都是(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?A)功能测试B)单元测试C)结构测试D)确认测试(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?A)完善性维护B)适应性维护C)改正性维护D)预防性维护(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为A)瀑布模型B)对象模型C)螺旋模型D)层次模型(18)软件原型化开发方法有其基本步骤,下述I.获取基本需求Ⅱ. 开发工作模型Ⅲ. 严格细部说明Ⅳ. 模型验证中,哪些(个)是实现原型化的最基本的步骤?A)全部都是B)Ⅰ,Ⅱ和ⅣC)ⅣD)Ⅰ和Ⅱ(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指A)模块间的关系B)模块的操作细节C)软件层次结构D)软件开发过程(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是A)先数据后程序B)先程序后数据C)与顺序无关D)可同时进行(11)D (12)B (13)B (14)D (15)B (16)A (17)A (18)B(19)B (20)A(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述I.结构化语言Ⅱ. 判定树Ⅲ. 判定表是常用的说明工具,其中便于对加工出现的组合条件的说明工具是A)Ⅱ和ⅢB)Ⅰ、Ⅱ和ⅢC)Ⅰ和ⅢD)Ⅰ和Ⅱ(22)软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是A)分析阶段B)设计阶段C)编码阶段D)测试阶段(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?A)加工顺序B)加工逻辑C)执行频率D)激发条件(24)构建一个原型不支持下述哪种功能?A)取代最终系统B)辅助收集软件需求C)辅助估计工程代价D)作为较大工程的基础(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的A)可复用性B)可维护性C)可扩展性D)可移植性(26) 下列哪种描述是正确的?A)定义阶段产生软件需求规划B)测试在软件生命周期中是可选的C)CASE工具只能辅助软件生命周期的设计阶段D)后一阶段改变时,不需要更新以前所有阶段的文档(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的A)结构合理性B)程序正确性C)程序外部功能D)程序内部逻辑(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是A)设计人员和用户B)分析人员和用户C)分析人员和设计人员D)编码人员和用户\(21)A (22)C (23)B (24)A (25)B (26) A (27) D (28) B (29) C(30) A(29)数据流图是用于软件需求分析的工具,下列元素I.数据流Ⅱ. 加工Ⅲ. 数据存储Ⅳ. 外部实体(源或潭)哪些是其基本元素?A)Ⅰ,Ⅱ和ⅢB)Ⅰ和ⅢC)全部D)Ⅰ,Ⅲ和Ⅳ(30) 数据字典(DD)是定义哪一种系统描述工具中的数据的工具?A) 数据流程图B) 系统流程图C) 程序流程图D) 软件结构图(31) 软件需求分析一般应确定的是用户对软件的A) 功能需求B) 非功能需求C) 性能需求D) 功能需求和非功能需求(32) 软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?A) 软件结构B) 数据库设计C) 制定测试计划D) 模块算法(33) 数据字典是对数据定义信息的集合,它所定义的对象都包含于A) 数据流图B) 程序框图C) 软件结构D) 方框图(34) 软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能A) 减少测试工作量B) 避免后期付出高代价C) 保证软件质量D) 缩短软件开发周期(35) 程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是A) 语言的应用领域B) 对语言的熟悉程度C) 数据结构的复杂度D) 算法的复杂度(36) 软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:I.成熟的原型化人员Ⅱ. 快速的成型工具Ⅲ. 需求了解的准确性哪个(些)条件是实施原型化方法所必备的?A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ,Ⅱ和ⅢD)Ⅲ(37) 软件的可维护性度量可分解为对多种因素的度量,下述各种因素I.可测试性Ⅱ. 可理解性Ⅲ. 可修改性Ⅳ. 可复用性哪个(些)是可维护性度量的内容?A)全部B)ⅠC)Ⅰ,Ⅱ和ⅢD)Ⅰ和Ⅱ(38) 软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是A) 集成测试B) 单元测试C) 系统测试D) 验收测试(39) 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?I.自顶向下Ⅱ. 自底向上Ⅲ. 分层绘制Ⅳ. 逐步求精A)全是B)Ⅰ,Ⅲ和ⅣC)Ⅱ,Ⅲ和ⅣD)Ⅰ和Ⅲ(31) D (32) D (33) A (34) B (35) A (36) A (37) C (38) B (39) B (40) B(40) 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的A) 控制流B) 数据流C) 程序流D) 指令流(41) 软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?A) 调用关系B) 从属关系C) 嵌套关系D) 主次关系(42) 原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?A) 提供严格定义的文档B) 加强用户参与和决策C) 简化项目管理D) 加快需求的确定(43) 评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?A) 尽量发现错误B) 检查软件文档C) 根据评审标准D) 依靠测试信息(44) 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于A) 阅读设计文档B) 理解程序代码C) 分析软件结构D) 查阅测试记录(45) 软件工程哪个阶段产生软件需求定义?A) 定义阶段B) 工程阶段C) 维护阶段D) 开发阶段(46) 自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护A) 输出数据B) 数据字典C) 处理序号D) 输入数据(47) 下述哪种是内聚性最严格的形式?A) 逻辑B) 功能C)过程D) 一致性(48) 下述哪个不是白盒测试法的概念?A)应该执行边界条件下的所有循环B) 应该执行边界条件下的所有接口B)应该执行所有逻辑判断的真假情况D) 应该至少执行一次模型中的所有独立路径(49) 原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力A) 熟练的编程技能B) 及时获得用户需求C) 协作精神及有力管理D) 巧妙使用工具(50) 数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?(41) D (42) A (43) D (44) C (45) A (46) B (47) B (48) B (49) B (50) BA) 可行性分析B) 需求分析C) 详细设计D) 程序编码(51) 判定树和判定表是用于描述结构化分析方法中哪一环节的工具?A) 功能说明B) 数据加工C) 流程描述D) 结构说明(52) 在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?A) 详细设计B) 需求分析C) 总体设计D) 编程调试(53) 信息隐蔽的概念与下述哪一种概念直接相关?A) 软件结构定义B) 模块独立性C) 模块类型划分D) 模块耦合度(54) 结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?A) 顺序结构B) 条件结构C) 选择结构D) 嵌套结构(55) 软件复审时其主要的复审对象是A) 软件结构B) 软件文档C) 程序编码D) 文档标准(56)软件需求规格说明书不应包含的内容是A) 系统输入/输出的描述B) 质量控制方案C) 数据字典D) 用户界面需求描述E) 系统可靠性要求描述F) 测试方案G)需求分析阶段进度安排H) 人员需求(51) B (52) C (53) B (54) D (55) B (56 ) F G H(57) 将下面的DFD转换为初始化的模块结构图图中:左竖虚线表示此处为系统的逻辑输入57-2)57-3)(58) 将下面的伪码转换为PAD和N-S图beginS1;I f x>5 then S2 else S3;w hile y<0 do beginif z>3 then S4 else S5;while w>0 then S6;S7end;S8;If u>0 then S9;S10;E nd.(59)(60) 将下面给出的伪码,转换为PAD图和程序流程图。
《软件工程导论》试题与答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格说明B. 软件设计和实现C. 软件测试和验证D. 软件维护答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 软件开发过程中,以下哪个阶段的主要任务是需求分析?A. 需求获取B. 设计C. 编码D. 测试答案:A4. 在软件工程中,以下哪个方法主要用于软件项目管理?A. 水平迭代法B. 垂直迭代法C. 敏捷开发D. 模块化设计答案:C5. 以下哪个工具用于软件需求跟踪?A. 用例图B. 类图C. 时序图D. 状态图答案:A二、填空题(每题2分,共20分)6. 软件工程的基本目标是提高软件的______和降低软件的______。
答案:可维护性,成本7. 软件开发过程主要包括______、______、______、______四个阶段。
答案:需求分析、设计、编码、测试8. 软件设计中,常用的设计模式有______、______、______等。
答案:工厂方法、单例、策略9. 软件测试的目的是______、______和______。
答案:发现错误、验证软件功能、评估软件质量10. 敏捷开发的核心价值观包括______、______、______、______、______。
答案:个体和团队、可工作的软件、客户合作、响应变化、简单性三、判断题(每题2分,共20分)11. 软件工程是计算机科学与工程的一个分支,主要研究软件开发的理论、方法和技术。
(对/错)答案:对12. 软件开发过程中,需求分析阶段的主要任务是获取用户需求。
(对/错)答案:对13. 软件测试的目的是证明软件的正确性。
(对/错)答案:错14. 敏捷开发强调快速迭代、持续交付和客户反馈。
(对/错)答案:对15. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。
软件工程导论期中考试
一、选择
1、瀑布模型把软件生命周期划分为把各阶段:问题定义、可
行性研究、软件需求分析、系统总体设计、详细设计、编
码、测试和运行、维护。
八个阶段又可归纳为三个大阶段:计划阶段、开发阶段和()c
A、详细计划
B、可行性分析
C、运行阶段
D、测
试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的哪个环节出错,对软件的影响最大()C
A、详细设计阶段
B、概要设计阶段
C、需求分析阶段
D、测试和运行阶段
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标()A
A、需求分析阶段
B、详细设计阶段
C、概要设计阶段
D、可行性研究阶段
4、软件工程的出现主要是由于()C
A、程序设计方法学的影响
B、其他工程科学的影响
C、软件危机的出现
D、计算机的发展
5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()C
A、硬件环境
B、软件开发的环境
C、软件开发工具和软件
开发的环境D、开发人员的素质
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,他们之间的关系表现为()B
A、互相排斥
B、相互补充
C、独立使用
D、交替使用
7、UML是软件开发中的一个重要工具,它主要应用于那种软件开发方法()C
A、基于瀑布模型的结构化方法
B、基于需求动态定义的原型化方法
C、基于对象的面向对象的方法
D、基于数据的流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高()B
结构化方法B、原型化方法C、面向对象的方法
D、控制流方法
9、软件开发的结构化生命周期方法将软件生命周期划分成 ( A )
A、计划阶段、开发阶段、运行阶段
B、计划阶段、编程阶段、测试阶段
C、总体设计、详细设计、编程调试
D、需求分析、功能定义、系统设计
10、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )
A、瀑布模型
B、对象模型
C、螺旋模型
D、层次模型
二、填空题
1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动 )情况。
2、成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。
3、软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
4、按软件的功能进行划分软件可以划分为(系统软
件、支撑软件和应用软件。
)
5、可行性研究主要集中在以下四个方面(经济可行
性、技术可行性、法律可行性和抉择。
)
6、计算机软件不仅仅是程序还应该有一整套。
(文档)
7、传统的软件生存期模型是。
(瀑布模型)
8、软件按照功能的不同可以划分为3大类型、和。
(系统软件支持软件应用软件)
9、DFD在软件工程中表示。
(数据流图)
10、数据流图有四种基本成
分:、、、。
(数据流加工又称为数据处理文件数据的源点或终点)
三、判断题
1、软件的开发与运行经常受到硬件的限制和制约。
(√)
2、UML只能应用于软件系统模型的建立。
(X)
3、系统结构图是精确表达程序结构的图形表示法。
因此有时也可以将系统结构图当作系统流程图使用。
(X)
4、快速原型模型可以有效地适应用户需求的动态变化。
(√)
5、软件危机完全是由于硬件问题引起的。
(X)
6、软件栏程学只有理论采义,没有实际用途。
(X)
7、软件栏程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。
(X)
8、可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。
(√)
9、.UML是一种面向对象的分析设计方法,即OOA/OOD方法。
(X)
10、流图中的区域数等于环形复杂度。
(√)
四、名词解释
1、.软件危机
答:在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2、软件过程
答:为了获得高质量软件所需要完成的一系列任务的框架。
3、快速原型模型
答:快速建立起来的可以在计算机上运行的程序。
4、数据流图
答:秒回信息流和数据从输入移动到输出的过程中所经受的变
换。
5、经济可行性
答:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
六、简答题
1. 什么是软件危机?为什么会产生软件危机?
答:件危机是指软件在开发和维护过程中遇到的一系统严重问题主要包含二方面的问题一是如何开发利用软件二是如何维护数量不断膨胀的已有软件。
产生软件危机的原因一方面与软件本身的特点有关另一方面和软件开发与维护的方法不正确有关。
2、简述软件工程目标和面临的主要问题。
答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。
它采用经过实践验证的工程的原则、方法,以提高质量,降低成本。
但是目前的软件开发面临着许多问题:1、对软件开发成本和进度的估计常常很不准确。
2、用户常对“已完成的”软件系统不满意。
3、软件产品的质量往往靠不住。
4 软件常常很难维护。
5、软件常常缺乏适当的文档资料。
6、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
7、软件成本在计算机系统总成本中所占的比例逐年上升。
3、软件生命周期模型?瀑布模型?快速原型模型?答;概括的
说,软件生命周期模型由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
软件生命周期模型有问题定义,可行性研究,需求分析,总体详细设计,总体编码和单元测试,综合测试,软件维护组瀑布模型是一个项目开发架构开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段。
快速原型模型是在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型、可运行的软件然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。
七、论述题
怎样克服软件危机?
(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,
并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。