1、02333软件工程题库及答案单选题1.软件开发环境按解决的问题分类包含( ) A.程序设计环境B.工具箱环境C.基于方法的环境D.以语言为中心的环境2.用于描述待开发产品/系统功能上的能力、性能参数或其他性质的是( ) A.程序B.需求C.设计D.规约3.下列选项中,用作详细设计的工具是( ) A.层次图B.数据流图C.模块结构图D.盒图4.UML提供的图形化工具中,用于概念模型和软件模型的动态结构的是( ) A.用况图B.部署图C.对象图D.构件图5.根据软件需求分类,下列选项中不属于设计约束的是( ) A.并发操作B.握手协议C.质量属性D.硬件限制6.根据RUP测试活动,输入为测试用况,
2、活动为实现测试,则输出为( ) A.测试计划B.测试构件C.测试评价D.测试过程7.一般来说,单元测试往往采用( ) A.等价类测试B.因果图测试C.白盒测试D.黑盒测试8.支持面向对象技术的软件生存周期模型是( ) A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型9.CMMI成熟度等级中的第四级为( ) A.已定义级B.已定量管理级C.持续优化级D.已管理级10.若一个学生可以在一所或者多所学校注册学习,那么这种关联关系称为( ) A.依赖B.泛化C.组合D.聚合11.以下( )不是结构化分析方法常用的工具。 A.数据流图B.数据字典C.程序流程图 D.判定树12.软件基本过程指那些与软件生
3、产直接相关的活动集,可分为获取过程、供应过程开始过程、运行过程和( ) A.验证过程B.调试过程C.测试过程D.维护过程13.提高程序可读性的有力手段是( )。 A.选好一种程序设计语言B.显式说明一切变量C.使用三种标准控制语句D.给程序加注释14.软件需求分析阶段的任务是确定( )。 A.软件开发方法B.软件开发费用C.软件系统功能D.软件开发工具15.下面不是软件需求规格说明书的特点的是( )。 A.正确性 B.无歧义性C.完整性D.不可修改性16.结构设计是一种应用最广泛的系统设计方法,是以 ( )为基础、自顶向下、逐步求精和模块化的过程。 A.数据流B.数据流图C.数据库D.数据结构
4、17.需求分析说明书不能作为( )。 A.可行性研究的依据B.用户和开发人员之间的合同C.系统概要设计的依据D.软件验收测试的依据18.在数据流图(DFD)中,带有名字的箭头表示( )。 A.控制程序 的执行顺序 B.模块之间的调用关系 C.数据的流向 D.程序的组成成分19.下列叙述中,不属于结构化 分析方法的是( )。 A.面向数据流的结构化分析方法B.面向数据结构的Jackson方法C.面向数据结构的结构化数据系统开发方法D.面向对象的分析方法20.详细设计的任务是决定每个模块的部特性,即模块( )。 A.外部特性 B.部特性C.算法和使用数据D.功能和输入输出数据21.下列工具中属于需
5、求分析常用工具的是( )。 A.PADB.PFDC.N-SD.DFD22.在白盒测试法中的逻辑覆盖技术中,其中发现错误能力最弱的覆盖技术是( )。 A.语句覆盖 B.判定覆盖C.条件覆盖 D.数据流23.在软件测试过程的4个步骤中,测试依据是需求规格说明的是( )。 A.单元测试 B.集成测试 C.确认测试 D.系统测试24.概要设计的结果是提供一 份( )。 A.模块说明书B.框图C.程序 D.数据结构25.与设计测试数据无关的文档是( )。 A.需求说明书B.设计说明书C.源程序 D.项目开发设计26.在软件维护中,为了加强、 改善系统的功能和性能,以满足用户新的要求的维护称为( )。 A
6、.适应性维护 B.纠错性维护C.完善性维护 D.预防性维护27.软件测试的目的是( )。 A.发现错误B.演示程序的功能C.改善软件的性能D.挖掘软件的潜能28.在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于( ) A.维护时期B.运行时期C.计划时期 D.开发时期29.下列中不属于软件维护的是( )。 A.纠错性维护B.完善性维护C.检验性维护D.预防性维护30.软件工程的理论和技术性研究的容主要包括软件 开发技术和( )。 A.消除软件危机B.软件工程管理C.程序设计自动化D.程序设计自动化31.软件测试过程是软件开发过程的逆过程,其最基础性的测试应是( )。 A.集成
7、测试B.单元测试C.有效性测试 D.系统测试32.强行排除法是一种常用的简单方法,下列选项中( )不属于强行排除法。 A.输出存 储器的信息 B.进行回归测试 C.在程序中插入打印语句D.利用自动调试工具33.Putnam成本估算模型是一个( )模型。 A.静态单变量B.动态单变量C.静态多变量D.动态单变量34.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化B.模块高聚C.模块低耦合D.模块独立性35.在集成(联合)测试中,测试的主要目的是发现( )阶段的错误。 A.软件计划B.需求分析C.设计 D.编码36.下列不属于软件调试技术的是( )。 A.强行排错法 B.集成测
8、试法C.回溯法 D.原因排除法37.下面关于PDL语言不正确的说法是( ) A.PDL是描述处理过程怎么做B.PDL是只描述加工做什么C.PDL也称为伪码 D.PDL的外层语法应符合一般程序设计语言常用的语法规则38.程序的三种基本控制结构的共同特点是 ( ) 。 A.不能嵌套使用B.只能用来写简单程序C.只能一个入口和一个出口D.已经用硬件实现39.在面向对象的高层设计体系结构中, ( )是用来描述用户一般使用软件习惯的部分 A.人机交互界面B.问题论域C.系统交互界面D.数据管理40.在ATM机系统中,下列( )不能在面向对象设计中被定义为类。 A.中央计算机B.柜台事务C.拨号D.营业厅
9、41.模块的聚性最高的是( ) A.逻辑聚B.时间聚C.偶然聚D.功能聚42.把一组具有相似特性的对象组合在一起,称之为( ) A.多态性B.类C.消息D.继承性43.以下说法错误的是 ( ) 。 A.面向对象分析与面向对象设计的定义没有明显区别B.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程C.在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的D.面向对象分析和面向对象设计活动是一个多次反复迭代的过程44.SA方法的基本思想是( ) A.自顶向下逐步分解B.自底向上逐步抽象C.自底向上逐步分解D.自底向下逐步抽象45.在E-R模型中,包含以下基本成分( )。 A.数据
10、、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、操作46.程序的三种基本控制结构是( )。 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、迭代和回溯 D.调用、返回和转移47.软件管理的主要职能有( )。 A.人员管理、计划管理 B.标准化管理、配置管理 C.成本管理、进度管理 D.A和B48.下列模型属于成本估算方法的有( )。 A.COCOMO模型B.McCall模型C.McCabe模型D.时间估算法49.下列语言中哪个语言是低级语言( )。 A.PASCALB.VISUAL BASICC.C+D.汇编语言50.原型化方法是一类动态定义需求的方法,下列叙述中
11、,哪一个不具有原型化方法的特点( )。 A.提供严格定义的文档B.加强用户参与和决策C.简化项目管理D.加快需求的确定多选题1.下面的( )是软件构造活动的任务。 A.构建软件组件B.设计用户界面C.实施组件的单元测试 D.评估组件的质量2.良好设计的特征是( )。 A.模块之间呈现高耦合B.实现分析模型中的所有需求C.包括所有组件的测试用例D.提供软件的完整描述3.软件维护的策略包括( )。 A.定期检测维护B.改正性维护C.适应性维护D.完善性维护4.下列属于不标准的书写格式有( )。 A.书写时适当使用空格分隔B.一行写入多条语句C.嵌套结构不使用分层缩进的写法D.程序中不加注释5.面哪
12、些测试属于黑盒测试( )。 A.路径测试 B.等价类划分C.边界值分析D.错误推测E.循环测试6.下列属于软件测试过程的是( )。 A.单元测试B.组装测试C.核测试D.法律验证E.确认测试7.软件危机可以表现为( )。 A.产品不符合用户的需要B.软件产品的质量差C.软件的可维护性差D.软件的价格昂贵8.( )可以作为模块. A.子程序B.函数C.过程D.编译文件9.关于容耦合的描述正确的是( )。 A.容耦合是最高程度的耦合B.应该尽量使用容耦合C.高级语言一般设计成允许容耦合的形式D.如果一个模块有多个入口,可能发生容耦合10.Jackson图中一般可能包括( )。 A.表头B.表体C.
13、表名D.字段名11.下列属于度量效益方法的是( )。 A.货币的时间价值 B.投资回收期C.收入D.投资回报率12.在敏捷开发方法中,用户故事(User Story)的作用是( )。 A.定义需要发布给最终用户的软件特性和功能B. 确定发布每一次增量的日程表C.用于代替详细的活动计划 D.用于估算构建当前增量所需要的努力E.选项A和C13.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常 采用的( )。 A.自顶向下B.自底向上C.分层绘制D.逐步求精14.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具( ) A.结构图B.实体联系图C.IPO图D.层
14、次图19.下面哪些测试属于白盒测试( )。 A.基本路径测试B.等价类划分C.边界值分析D.错误推测E.逻辑覆盖测试20.下列哪些选项是属于容耦合( )。 A.一个模块直接访问另一个模块的部数据B.一个模块有多个入口C.一个模块不通过正常入口转到另一模块部D.一个模块只有一个入口判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( )2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。( )3.系统设计时应该将模块划分得很细,模块数越多越好。( )4.软件是指用程序设计语言(如PASCAL,C,VISUAL?BASIC?等)编写的程序,软件开发实际
15、上就是编写程序代码。( )5.文档是影响软件可维护性的决定因素。( )6.软件模块之间的耦合性越弱越好。( )7.软件开发的方法的工作模型是螺旋模型。( )8.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。( )9.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品( )10.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。( )11.如果通过软件测试没有发现错误,则说明软件是正确的。( )12.快速原型模型可以有效地适应用户需求的动态变化。( )13.总体设计的基本目的就是回答:概括地说,系统应该
16、如何实现?这个问题。( )14.在软件开发过程中,软件项目管理比软件编码技术显得更为重要。( )15.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。( )16.JAVA语言编译器是一个CASE工具。( )17.确认测试计划应该在可行性研究阶段制定。( )18.CMM标准共分五个等级,其中第三级是已管理级。( )19.软件就是程序,编写软件就是编写程序。 ( )20.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。( )21.结构化方法的工作模型是使用螺旋模型进行开发。( )22.没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效
17、率。( )23.白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。( )24.过程描述语言可以用于描述软件的系统结构。( )25.软件开发小组的组成人员的素质应该好,而人数则不宜过多。 ( )26.类图中的角色是用于描述该类在关联中所扮演的角色和职责的。( )27.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。 ( )28.用面向对象方法分析、设计、实现软件,仍属线性的瀑布开发模型。( )29.面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。 ( )30.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。( )31.信息隐蔽原则
18、有利于提高模块的聚性。( )32.SD 法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。 ( )33.中心变换型的DFD 图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事务分析技术得到初始的模块结构图。( )34.在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。 ( )35.用例模型的基本组成部件是用例、角色和用例之间的联系。( )36.UML建模语言是由视图、图、模型元素和通用机制构成的层次关系来描述的。( )37.顺序图描述对象之间的交互关系,重点描述对象间消息传递的时间顺序。( )38.类图用来表示系统中类和类与类之间的关系,它是对系统
19、动态结构的描述。( )39.活动图显示动作及其结果,着重描述操作实现中所完成的工作以及用例实例或类中的活动。( )40.改进程序的执行效率不会引入错误。( )41.数据库设计说明书是一个软件配置项。( )42.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。( )43.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。( )44.RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者原型将被废弃。( )45.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。( )46.划分模块可以降低软件的复杂度和工作量,所
20、以应该将模块分得越小越好。( )47.面向对象的的方法是以类作为最基本的元素,它是分析问题和解决问题的核心。( )48.复用也叫重用或再用,面向对象技术中的“类”是比较理想的可重用软构件,它有三种重用方式:实例重用、继承重用、多态重用。( )49.对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。( )50.面向对象的分析过程主要包括三项容:理解、表达和验证。( )答案单选题01.A02.B03.D04.A05.C06.B07.C08.A09.B10.D11.C12.D13.C14.C15.D16.B17.A18.C
21、19.D20.C21.D22.A23.C24.A25.D 26.C27.A 28.C29.C30.B 31.B32.B33.D34.D35.D36.B 37.D38.C 39.C40.C41.D42.B43.A44.A45.C46.B47.D48.A 49._50.A多选题01.AC02.BD03.BCD04.BCD05.BCD06.ABE07.ABCD08.ABCD09.AD 10.ABCD11.ABCD12.AD 13.ACD 14.ACD19.AE20.ABC判断题01.02.X03.X04.X05.06.07.X08.X09.10.X11.X12.13.14.15.16.17.X18.
22、X19.X20.X21.X22.23.X24.X25.26.27.X28.X29.30.X31.32.X33.X34.X35.36.37.38.X39.X40.X41.42.X43.X44.45.46.X47.X48.49.50.填空题1.计算机软件一般是指计算机系统中的程序及其文档。2.需求规约的基本性质包括重要性和稳定性、可修改的、完整的和一致的。3.在结构化分析方法中,加工是数据的变换单元,即它接受输入的数据,对其进行处理,并产生输出。4.数据源是数据流的起点;数据潭是数据流的归宿地。5.结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软
23、件解决方案,确定“怎么做”的问题。6.模块是执行一个特殊任务的一个过程以及相关的数据结构。7.耦合是指不同模块之间相互依赖程度的度量。8.在软件工程中,FTR的中文含义为正式技术评审。9.软件风险的两个主要特性是不确定性和损失。10.在构件设计中,用于描述加工逻辑的主要工具有 图形化设计表示、表格式设计表示和程序设计语言。11.软件项目管理的主要容是人员、产品、项目、过程。12.功能独立性是模块化和抽象及信息隐藏概念的直接产物,是通过两项质量标准来衡量的:聚和耦合。13.传统的软件工程中,从分析模型到设计模型的翻译,数据流图是体系结构设计和接口设计的的依据;而数据设计则依据数据字典和实体-关系
24、图 。14.自底向上集成是集成测试中的一种策略,采用这种方法对软件进行集成测试时,需要为 每个模块准备一个驱动模块。15.软件工程的分析模型有三种,分别是信息域、功能域和行为域。16.UML的定义包括UML语义和UML表示法两个部分。17.软件工程是从软件开发技术和 软件工程 两个方面研究如何运用工程学的基本原理和方法来更好地开发和维护计算机软件的一门学科。18.在软件开发过程中要产生大量的信息,要进行大量的修改软件配置管理能协调软件开发,并使混乱减到最低程度。19.聚性有七种类型,最强的是功能,最弱的是偶然。20.集成测试采用的具体方法有渐增式方法、非渐增式方法。21.螺旋模型利用笛卡尔坐标
25、的四个像限分别表达软件开发模型各方面的活动。22.软件编码阶段要善于积累编程的经验,使得编出的程序清晰易懂、易于测试与维护,从而提高软件质量。23.结构程序设计的基本思想是自顶而下,逐步求精24.数据字典是对数据定义信息的集合,它所定义的对象都包含于数据流图中。25.大型软件测试包括单元测试_、集成测试、确认测试和系统测试四个步骤。26.面象方法用对象行为和属性分解取代了传统方法的功能分解。27.白盒测试和黑盒测试是软件测试的两类基本方法,这两类方法各有所长,相互补充。28.UML中的泛化关系就是通常所说的继承关系。29.在前期需求明确、资料完整的情况下尽量采用瀑布模型。30.软件重用技术是能
26、从根本上提高软件可维护性的重要技术。31.检查软件产品是否符合需求定义的过程称为确认测认。名词解释1.软件工程:容:软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。(它是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等。)2.软件危机:容:是计算机软件的开发和维护过程所遇到的一系列严重的问题。3.软件需求:容:软件需指(1)用户解决问题或达到目标所需的条件或能力;(2)系统或系统部件要满足合同、标准、规或其它正式规定文档所需具有的条件或能力;(3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。4.需求分析:容:是准确的理解用户的需求将其转换成需求定义
27、,然后由需求定义转换成形式化的功能规约。5.结构化程序设计容:结构化程序设计是一种程序设计技术,采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。6.软件设计:容:从抽象概括到具体实践过程 。7.信息隐蔽:容:指在设计和确定模块时,使得一个模块包含的信息(过程或数据),对于不需要这些信息的其它 模块来说,是不能访问的。8.对象:容:是系统中描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成,是类的一个实例9.数据字典:容:数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外部实体。10.耦合:容:块间联系,软件系
28、统结构中各模块间相互联系紧密程度的一种度量。11.数据抽象:容:数据抽象把一个数据对象的定义(或描述 )抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。12.类:容:具有相似或相同性质的对象的抽象就是类。13.系统测试:容:系统测试是通过与系统的需求规格作比较,发现软件与系统需求规格不相符合或与之矛盾的地方。14.综合测试:容:综合测试 是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。15.软件生存周期模型:容:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。16.软件生存周期:容:软件产品从形
29、成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分17.成熟度等级:容:软件成熟度等级是指软件开发组织在走向成熟的途中几个具有明确定义的表示软件过程能力成熟度的平台。18.继承:容:广义的说是指能够直接获得已有的性质和特征,而不必重复定义它们 狭义的说是子类自动地共享基类中定义的数据和方法的机制19项目管理:容:就是通过合理地组织和利用一切可以利用的资源,按照计划的成本和计划的进度,完成一个计划的目标,它包含团队管理、风险管理、采购管理、流程管理、时间管理、成本管理和质量管理等。20.白盒测试: 容:白盒测试是已知产品部工作过程,通过
30、测试检验产品部动作是否按照产品规格说明的规定正常进行。21.预防性维护:容:预防性维护 是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。22.编程风格:容:是在不影响性能的前提下,有效地编排和组织程序以提高可读性和可维性。23.数据流图:容:数据流图是结构化分析的基本工具,它描述了信息流和数据转换。24.软件测试:容:软件测试是以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。25.CASE工具:容:CASE工具是一些软件系统,支持软件过程的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。26.模块作用域:容:是指受该模块判定影响的所有模块。受该
31、模块的一个判定影响的所有模块的集合27.聚性:容:聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块部各个元素彼此结合的紧密程度的度量28.数据设计:容:数据设计是为在需求规格说明中定义的那些数据对象选择合适的逻辑表示,并确定可能作用在这些逻辑结构上的所有操作(包括选用已存在的程序包)29.瀑布模型:容:瀑布模型是将软件生命周期的各项活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目。30.条件组合覆盖:容:条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。问答题一、软件生命期各阶段的任务是什么? 答:
32、软件生命期分为7个阶段:1)问题定义:确定要解决的问题是什么;2)可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性;3)需求分析:确定该系统必须做什么;4)总体设计:确定系统如何实现,包括系统设计和结构设计;5)详细设计:具体实现设计的系统;6)实现:编码和测试;7)运行维护:保证软件正常运行。二、如何理解模块独立性?用什么指标来衡量模块独立性? 答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。模块的独立性很重要:第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。第二,独立的模块比较容易测试和维护。 模块的独立程度可以由两个定性标准度量,分别是聚
33、和耦合。聚衡量一个模块部各个元素彼此结合的紧密程度;耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。三、软件重用的效益是什么? 答:1) 软件重用可以显著地改善软件的质量和可靠性; 2) 软件重用可以极提高软件开发的效率; 3) 节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。四、需求规约的作用是什么? 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作, 需求规约是一个管理控制点;3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点;4)需求规约是创建产品验收测试计划和
34、用户指南的基础。五、简述建模过程及步骤? 答:为了支持系统地使用信息来创建系统功能模型,结构化分析方法给出了建模的基本步骤,该过程属于“自顶向下,功能分解”形式。1.建立系统环境图,确定系统语境;2.自顶向下,逐步求精,建立系统的层次数据流图;3.定义数据字典;4.描述加工。六、简述RUP中迭代增量式开发的概念以及规定的开发阶段。 答:RUP中迭代增量式开发是指通过开发活动的迭代,不断产生相应的增量。1)初始阶段;2)精化阶段;3)构造阶段;4)移交阶段七、简述结构化方法总体设计的任务。 答:结构化设计方法是将应用软件设计过程划分为总体设计和详细设计两个阶段。总体设计的主要任务是要确定软件的整
35、体结构,其具体的任务是:1)将系统或子系统分解为多个模块;2)确定模块之间传送的数据及其调用关系;3)评价并改进模块结构的质量。八、简述变换设计与事务设计的区别及联系。 答:变换设计是在需求规约的基础上,经过一系列设计步骤,将变换型数据流图转换成系统的模块结构图。其基本步骤是: 1.设计准备复审并精化系统模型; 2.确定输入、变换、输出这三部分之间的边界; 3.第一级分解系统模块结构图顶层和第一层的设计; 4.第二级分解自顶向下,逐步求精;当数据流图具有明显的事务型特征时,也就是有一个明显的事务处理中心时,则比较适宜采用事务设计。事务设计的基本步骤和变换设计大体相同。事务设计的基本步骤如下:
36、1.设计准备复审并精化系统模型; 2.确定事务处理中心; 3.第一级分解系统模块结构图顶层和第一层的设计; 4.“第二级分解”自顶向下,逐步求精。九、简述CMMI成熟度等级的概念、划分及组成。 答:成熟度等级是指达到预先定义的一组过程域所有目标的一种过程改善等级。 在CMMI中,应用于一个组织过程改善的成熟度等级有5个: 1级:初始级;2级:以管理级;3级:以定义级;4级:以定量管理级;5级:持续优化级;十、什么是状态?什么是状态图?简述实际应用中只用状态图的作用。 答:状态是类目的一个实例在其生存中的一种条件或情况;期间该实例满足这一条件,就执行某一活动或等待一个消息。状态图是现实状态机的图
37、,强调从一个状态到另一个状态的控制流。从实际使用中状态图的作用:创建一个系统的动态图和创建一个场景的模型。十一、简述详细设计任务及各阶级的目标。 答:概要设计已经确定了每个模块的功能和接口,详细设计的任务就是为每个模块设计其实现的细节。详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,得出对目标系统的精确描述。详细设计阶段的容为每个模块进行详细的算法设计。为模块部的数据结构进行设计。对数据库进行物理设计。其他详细设计工具主要包括程序流程图(系统流程图)、盒图(N-S图)、PAD图和伪码(PDL)。十二、简述测试与软件开发各阶段的关系。 答:测试与软件开发各阶段的关系 单元测试对程序中
38、每一个程序单元进行测试,检查各个模块是否争取实现规定的功能,从而发现模块在编码中或算法中的错误,该阶段涉及编码和详细设计文档。 集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。 确认测试主要是检查已实现的软件是否满足需求规格说明书中已确定了的各种需求。 系统测试是把已确认的软件与其他系统元素(如硬件,其他支持软件、数据、人工等)结合在一起进行测试,以确定软件是否可以支付使用十三、软件质量与软件质量保证的含义是什么? 答:软件质量定义为:与所确定的功能和性能需求的一致性;与所成文的开发标准一致性;与所有专业开发的软件所期望的隐含特性的一致性。而软件质量保证就
39、是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。十四、什么是数据流图?其作用是什么? 其中的基本符号各表示什么含义? 答:数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。十五、软件维护的特点是什么? 答:软件维护主要体现在三个方面:1.非结构
40、化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。2.维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。3.软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。十六、对软件
41、开发环境的基本要求有哪些? 答: 对软件开发环境的基本要求有以下几点:软件开发环境应是高度集成的一体化的系统;软件开发环境应具有高度的通用性;软件开发环境应易于定制、裁剪或扩充以符合用户要求,即软件开发环境应具有高度的适应性和灵活性;软件开发环境不但可应用性要好,而且是易使用的、经济高效的系统;软件开发环境应有辅助开发向半自动开发和自动开发逐步过渡的系统 十七、制定软件项目进度表有哪两种途径。 答:制定软件项目进度表有下列两种途径:软件开发小组根据提供软件产品的最后期限从后往前安排时间;软件项目开发组织根据项目和资源情况制定软件项目开发的初步计划和交付软件产品的日期。十八、简述说明结构化分析和
42、面向对象分析的区别? 答:结构化分析建模的目标是创建各种表现形式,以描述软件信息、功能和行为的需求 。为实现这一目标,可采用结构化分析和面向对象分析方法。结构化分析把软件看作信息装换器,辅助软件工程师识别数据对象、对象间的联系以及这些数据对象流经软件处理功能时转换的方式。而面向对象分析就是检查定义为一组用例的问题域,尽量提取定义问题的类。十九、一个良好的设计类需要满足四个特点,请详细描述这四个特点? 答:一个良好的设计类需要满足四个特点: 1)完整性和充分性: 2)原始性; 3)高聚性; 4)低耦合性。二十、简述模块独立性的原则。 答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能
43、,而和软件系统中其他的模块接口是简单的,模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果,由耦合和聚2个标准度量。二十一、简述文档在软件工程中的作用。 答:文档在软件工程中的作用如下:1、提高软件开发过程的能见度;2、实现对软件开发的工程管理;3、提高开发效率;4、作为开发人员在一定阶段的工作成果和结束标志;5、提供软件运行、维护和培训有关资料;6、记录开发过程中有关信息便于协调以后的软件开发使用和维护;7、便于用户了解软件功能、性能。二十二、衡量模块独立的两个标准是什么?它们各表示什么含义? 答:两个定性的度量标准:耦合与聚性。耦合性指软件系统结构中各模块间相互联系紧密程度的一
44、种度量,模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。聚性指模块的功能强度的度量,即一个模块部各个元素彼此结合的紧密程度的度量,模块元素联系越紧密,聚性越高。二十三、简述白盒测试的思想,并列举两种典型的测试技术。 答:白盒测试又称结构测试,它把测试对象看作一个透明的盒子。测试人员须了解程序的部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查部控制结构和数据结构是否有错,实际的运行状态和预期的状态是否一致 典型测试技术:逻辑驱动、基本路径测试等二十四、什么是软件危机?其产生的原因是什么? 答:当软件开发技术跟不上硬件技术的进步,不能满足开发的要求时,导致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,从而导致了软件危机
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。