软件工程复习资料与答案
软件工程综合复习题连答案

《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。
A、SAB、SDC、SCD、CASE3、以下判断正确的是()。
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、按软件的功能可将软件分成()、()和()等三类。
软件工程基础(复习题及答案)

软件⼯程基础(复习题及答案)复习题⼀、判断题(每题2分,共30分)1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(对)2.数据字典是对数据流图中的数据流,加⼯、数据存储、数据的源和终点进⾏详细定义。
(错)语⾔编译器是⼀个CASE⼯具。
(对)。
4.软件是指⽤程序设计语⾔(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(错)5.软件模块之间的耦合性越弱越好。
(对)6.数据库设计说明书是⼀个软件配置项(对)7.在⾯向对象的软件开发⽅法中,每个类都存在其相应的对象,类是对象的实例,对象是⽣成类的模板。
(错)8.过程描述语⾔可以⽤于描述软件的系统结构。
(错)9.如果通过软件测试没有发现错误,则说明软件是正确的。
(错)10.快速原型模型可以有效地适应⽤户需求的动态变化。
(对)11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到⾼内聚,低耦合度的软件产品。
(对)12.集成测试主要由⽤户来完成。
(错)13.确认测试计划应该在可⾏性研究阶段制定(错)14.⽩盒测试⽆需考虑模块内部的执⾏过程和程序结构,只要了解模块的功能即可。
(错)15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(对)16.在可⾏性研究中最难决断和最关键的问题是经济可⾏性。
(╳)17.耦合是指⼀个模块内各个元素彼此结合的紧密程度。
(╳)18. ⼀笔交易、⼀个动作、甚⾄操作⼈员按⼀个按钮都可以看做是⼀次事物。
(√)19.概要设计阶段完成的主要⽂档是概要设计说明书。
(√)20.过⼤的模块可能是由于分解不充分造成的,即使降低模块独⽴性也必须继续分解。
(╳)21.程序设计语⾔中应绝对禁⽌使⽤GOTO语句。
(╳)22.类是关于对象性质的描述,由⽅法和数据组成。
(√)23.随着软件技术的发展,⼈们逐渐认识到编码不仅要强调效率还要强调清晰。
(√)25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。
软件工程复习题库带答案完整版

软件工程复习题库带答案完整版一、选择题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、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程复习题及答案(完整)

一、选择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)是同构的。
软件工程知识点答案

⒈计算机软件开展的3个时期及其特点2.软件工程的定义软件工程的定义:采用工程的概念、原理、技术和法来方案、开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术法结合起来,以较经济的手段获得能在实际机器上运行的可靠软件的一系列法。
软件工程=工程技术+管理技术+技术法3.软件开发法的模型4.软件危机定义:是计算机软件在它的开发和维护过程中所遇到的一系列重问题5.软件危机主要包含问题:⑴如开发软件,怎样满足对软件日益增长的需求;⑵如维护数量不断膨胀的已有软件。
6.软件危机的原因:⑴客观:软件本身特点〔软件的规模庞大、复杂性高〕⑵主观:不正确的开发法,软件开发和维护有多错误的认识和作法。
〔无视需求分析;软件开发=程序编写;轻视软件维护〕7.软件危机的特征:软件价格在整个工程投入中的比例不断升高软件开发本钱重超标软件开发期大大超过规定日期软件质量难于保证软件修改,维护困难失败的根本原因在于:开发人员写出的东西达不到用户要求〔人的问题技术问题〕8.软件工程的原理:⒈用分阶段的生命期方案格管理不成功的软件工程中有一半左右是由于方案不造成的。
⒉坚持进展阶段评审软件的质量保证工作不能等到编码阶段完毕之后再进展。
⒊实行格的产品控制在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。
⒋采用现代程序设计技术采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。
⒌结果应能清楚地审查根据软件开发工程的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。
⒍开发小组的人员应该少而精⒎成认不断改进软件工程实践的必要性不仅要积极主动地采纳新的软件技术,而且要注意不断总结经历。
9.软件生命期:软件定义,软件开发和运行维护10.常用的软件生存期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发〔RAD 〕模型。
11.软件过程分类及各类容:根本过程:生命期原动力支持过程:辅助根本过程执行组织过程:建立控制和改进生命期过程12. 软件过程的构造:建立一个公共过程框架,其中定义了少量可用于所有软件工程的框架活动给出各个活动的任务集合,使得框架活动能够活动能够适合于工程的特点和工程组的需求保护伞活动,如软件质量保证等,它们独立于任一个框架活动并将贯穿于整个过程13.软件工程包括三要素:法、工具和过程。
软件工程复习题及参考答案

软件工程课程复习资料一、单项选择题:1.下面哪些UML图描述系统行为A.用例图B.类图C.对象图2.属于概要设计活动的是A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是A.UML 是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5.根据程序流程图划分的模块通常是A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是A.软件开发方法B.软件开发组织管理制度C.软件开发合同8.软件测试的目的是A.证明软件无错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是A.软件体系结构B.模块细节C.软件性能10.软件项目开发计划的内容有A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的是A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价A.软件过程能力B.组织能力C.学习能力13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为A.完善性维护B.改正性维护C.适应性维护14.对项目软件而言,软件功能需求信息主要由谁提供A.软件用户B.软件开发人员C.软件项目管理人员15.IDEF0 图反映不出A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是一种什么开发过程模型A.自顶向上B.由外至内C.增量式17.系统流程图描述A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的是A.组件图B.顺序图C.状态图21.面向对象方法是一种什么软件开发方法A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的是A.可靠性B.可用性C.可行性23.系统分析员在需求分析最后负责编写A.用户手册B.概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构A.与问题结构对应B.与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成A.需求分析B.概要设计C.详细设计27.下列属面向对象软件开发方法的是A.LCP 方法B.OMT 方法C.IDEF0 方法28.强调信息隐藏的软件工程设计方法是A.Jackson 方法B.Parnas 方法C.SA/SD 方法29.描述系统动态行为的模型是A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法是A.等价分类法B.语句覆盖法C.因果图法31.下列能减少支援性维护活动的是A.利用软件包B.进行配置管理C.对用户进行适当培训32.只支持单重继承的程序设计语言是A.C++B.DelphiC.C33.IDEF0 图的顶层图是A.A0 图B.A-0 图C.A-1图34.在UML的用例图中,扩展关系是一种A.泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的方法是A.基于经验模型的估计B.自底向上估计C.自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的A.全部属性B.主关键字属性C.非主关键字属性38.结构化分析方法使用的工具是A.数据流图B.类图C.软件结构图39.白盒测试设计用例的方法是A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是A.可维护性好B.可用性好C.满足用户功能需求41.瀑布模型是一种A.演化模型B.顺序模型C.增量模型42.模块的独立程度可以由什么定性标准度量A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有A.继承B.多态C.封闭44.面向数据结构的设计方法有A.Parnas 方法B.Jackson 方法C.IDEF0 方法45.与UML配合最好的软件开发方法是A.RUP 方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和 ;2.软件是计算机程序、及的完整集合,将其统称为软件配置,这些项称为软件配置项;通过正式复审的软件配置项称为 ,只有通过正式的变化控制过程才能改变它;3.纯收入是指在整个生存周期之内的与投资之差;4.瀑布模型是以驱动的软件生存周期模型,适合需求明确的软件系统开发;5.在单元测试期间,应该为被测模块编写相应的测试软件,一般地模块接收测试数据,并把数据传给被测模块,而模块则模拟实际模块完成少量数据处理;6.IDEF0方法用严格的自顶向下、逐层分解的方式进行系统的功能描述,其顶层图将图在建模范围内分解成个主要部分得到;7.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为内聚的模块;8.程序静态分析的对象是 ;常生成各种引用表,如列出各模块中出现的全部标号;9.在数据流图中,每个加工至少有一个和一个 ;10.两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 ;11.设E为程序图G中边的总数; N 为程序图中结点的总数,则该程序图的环形复杂度为 ;12.汽车有一个发动机;若用UML描述汽车和发动机之间的关系,则它们之间是_____关系;13.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略,即策略和策略;14.在基本路径测试中,以详细设计为基础,导出控制流程图的拓扑结构: 程序图,在计算了程序图的之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组的一条路径;从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径;15.在多层次的结构图中,其模块结构的层次数称为结构图的 ;结构图中同一层模块的最大模块数称为结构图的 ;16.耦合性是指两个模块之间的关系,模块之间的联系越复杂,每个模块的独立性就 ;17.可行性研究实质上是进行了一次过程;18.需求分析的任务是 ;19.NS图的主要优点是它强制设计人员使用技术,从而可保证软件设计的质量;20.结构型模式涉及如何组合类和对象,从而构成更大的对象,一是采用来组合接口或实现形成更大的结构;另一种方式通过方式来形成;21.为了便于对照检查,测试用例应由和预期的两部分组成;22.软件开发时,一个错误发现得越晚,为改正它所付出的代价就 ;23.在UML的用例图中,根据参与者与用例关系的不同,参与者可分为和次要参与者,参与者之间的关系只有关系;24.评价软件质量可以从三个方面进行,即产品或中间产品、和项目;25.软件配置管理是一组用于在计算机软件的整个生存周期内管理的活动;26.通过抽象,可以确定组成软件的 ;通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的 ;27.UML表示法的基础是 ,它描述建模元素的语义;28.条件覆盖是指设计足够的测试用例,使得至少出现一次;29.面向数据流图的结构化分析方法是根据的原则,按照系统中数据处理的流程,用数据图来建立系统的模型;30.评估软件企业的质量管理有两种方法,一种是按照认证,另外一种是按照CMM认证;31.风险估计从两个方面来度量,一是估计 ,二是估计与风险相关的问题出现后将会带来的损失;三、名词解释:1.集成测试2.设计模式3.信息隐藏4.用例5.结构化方法6.MVC四、判断题:1.测试计划、测试用例和出错统计等一般不用长期保存;2.在面向对象方法中,需求分析和设计没有差别;3.应用设计模式使得软件灵活,可重用性提高,应该尽量多使用;4.UML 是一种建模语言,可以被任何面向对象方法使用;5.任何系统都需要对数据进行处理,因而数据流图可描述任何系统;6.软件开发就是编写程序代码;7.面向对象软件开发最适合采用迭代、增量式的开发模型;8.设计模式是一种可以重用的面向对象软件设计方案;9.软件测试就是检查程序是否正确;10.软件项目计划在可行性研究阶段就已定稿;11.软件工程认为软件设计的最终目标是要取得最佳方案;12.只要对软件进行严格的测试,就能发现软件中的所有错误;13.初级技术人员在编码阶段参与软件项目的程度在各类人员中最高;14.单元测试常常在编码阶段进行;15.CMM 描述和分析了软件过程能力的发展与改进的程度;16.为了加快开发速度,可以一边写程序,一边设计文档;17.没有发现任何错误的测试是无效的测试;18.软件结构图中不能有控制信息流动;19.单元测试常常由独立的测试小组进行;20.用例建模只能用于面向对象软件系统的开发;21.数据流建模方法是一种自顶向下的需求分析方法;22.为了减少程序的长度,最好不要在程序中增加注释;五、简答题:1.在需求分析和设计阶段建立原型的好处有哪些2.什么是模块的扇入和扇出3.UML的特点是什么4.层次图和层次方框图有何区别5.软件测试对象应包括哪些内容6.试简要叙述文档在软件工程中的作用;7.为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发8.软件测试为何需要尽早和不断地进行9.简要说明如何实现MVC;10.试给出一种开源软件框架,并简要说明开源软件存在的问题;11.IDEF0方法有什么特点12.快速原型模型有几种各有何特点六、综合题:1.某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,该系统提供如下服务:1浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称;2浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称;3登录:网络学院给学院每个人一个账号;拥有授权帐号的学生和老师,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册;4修改个人信息:学生或老师向系统注册后,可以发送电子邮件或使用系统提供的页面,对个人信息进行修改;5删除个人信息:只有网络学院的管理人员才能删除不再是学院学生或老师的人员的有关信息;试问哪些是参与者哪些是用例并用UML的用例图描述系统行为;2.试据下述伪代码描述的模块,改用NS图描述;BeginabDo Until x6If xl thenfIf x4 thenDo Until x5iEnd UntilElseghEnd ifElseSelect Case x2Case 1:Do While x3cEnd WhileCase 2:dCase 3:eEnd SelectEnd ifEnd UntilEnd3.某五星级宾馆共有H间客房;每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、NBED和STATUS中;房间等级用整数表示;房间状态有:空闲0表示和占用1表示;客房以房间为单位出租;试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求RR为0表示任意等级均可;输出为:可供选择的房间号;要求用程序流程图描述算法;4.某医院打算开发一个以计算机为中心的患者监护系统,以解决医院人手不够和对危重病人的及时监护;该系统应能做到以下几点:随时接受每个病人的生理信号;定时记录病人情况形成患者日志;当病人生理信号超出医生规定的安全范围时向值班护士发告警信息;此外,护士在需要时,还可要求系统印出指定病人的病情报告;试椐此叙述绘出对应的DFD图;5.试采用设计模式描述算术表达式不含圆括号的设计方案;算术表达式是由加、减、乘、除和操作数构成的表达式,操作数假定为实数;6.请根据如下程序流程图设计该程序段的判定覆盖测试用例,其中输入为A,B,X,输出为X;参考答案一、单项选择题:1.A2.A3.C4.B5.B6.C7.C8.C9.B 10.B 11.B 12.A 13.C 14.A 15.C 16.B 17.A 18.C 19.C 20.A 21.B 22.C 23.A 24.C 25.A 26.C 27.B 28.B 29.C 30.C31.C 32.B 33.A 34.B 35.C 36.C 37.B 38.A 39.B 40.C 41.B 42.A 43.C 44.B 45.A二、填空题:1.聚集组合2.描述计算机程序的文档数据基线3.累计经济效益折合成现在值4.文档5.驱动模块桩模块6.A-0 3-67.逻辑 8.源程序标号交叉引用表9.输入流输出流 10.5011.E – N + 2 12.聚合13.深度优先广度优先 14.环形复杂性以前没有处理的语句或条件15.深度宽度 16.依赖越低17.大大压缩简化了的系统分析和设计过程 18.确定系统必须完成哪些工作19.结构化 20.继承对象组合21.输入数据预期输出结果 22.越大23.主要参与者泛化 24.过程25.变化 26.过程实体存取限制27.UML 元模型 28.判定表达式中每个条件的各种可能的值29.分解与抽象功能 30.ISO900131.风险发生的可能性三、名词解释:1.集成测试也称组装测试或联调;是指在单元测试的基础上,将所有模块按照概要设计要求组装成一个完整的系统而进行的测试;模块组装的方式有两种:渐增式和非渐增式;2.设计模式是普通面向对象设计问题的解决方案,这类问题以一组交互类的形式出现,用户根据需要定制这些交互类以形成专门的设计;所有设计模式均可以从四个方面加以描述:模式名称、问题描述、解决方案和效果;3.信息隐藏是指在模块设计时,使得一个模块内包含的信息过程或数据,对于不需要这些信息的其他模块来说是不能访问的;这样,改变模块的内部过程和数据的设计不会影响到其它模块;4.用例是参与者为达到某个目的而与系统进行的一系列交互,执行结果将为参与者提供可度量的价值;从参与者的角度来看,用例应该是一个完整的任务,在一个相对较短的时间内完成;5.结构化方法是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本原则是抽象和功能分解;6.MVC即模型、视图、控制器;其中,模型是应用对象,其包含一些数据值,维护数据并提供数据的访问方法;视图显示模型的部分或说有数据,多个视图可以以不同的方式来显示模型中数据;控制器处理用户输入事件;四、判断题:1.×2.×3.×4.√5.√6.×7.√8.√9.× 10.× 11.× 12.× 13.√ 14.√ 15.√16.× 17.√ 18.× 19.× 20.× 21.√ 22.×五、简答题:1.在需求分析和设计阶段建立原型的好处有:1增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求;2原型提供了一种有力的学习手段,能够使用户尽早接触系统;3原型可以用来识别或化解风险;4原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统;2.扇入则定义为一个模块被调用或控制的模块个数;扇出表示一个模块直接调用或控制的其他模块数目;3.UML的特点是:1统一了面向对象方法的有关概念和描述方法;2表达能力强,能对各种并发分布式系统进行建模,且UML还提供了扩展机制;3UML专注于一种标准的建模语言,而不是一个开发过程;4.层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与IPO图一起形成HIPO图;层次方框图主要描述系统的组成关系,一般自用域需求分析;5.软件测试并不等于程序代码测试,其应该贯穿于软件定义与开发的整个期间;因此,需求分析、概要设计以及程序编码等各阶段所得的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序代码都应成为软件测试的对象;6.在软件工程中,文档的作用是:1提高软件开发过程的能见度;2记录开发过程的有关信息便于使用与维护;3作为开发人员阶段工作成果和结束标志;4提高开发效率;5提供软件运行、维护和培训有关资料;6便于用户了解软件功能、性能;7.因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险分析均必须在签订合同之前完成;但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止;由此螺旋模型可能因为风险使得合同在完成之前就终止,从而导致法律诉讼;故螺旋模型不适合开发人员和用户属于不同组织机构的情况;8.软件测试不应仅仅作为一个独立的软件开发阶段,而应贯穿到软件开发的各个阶段中;通过各阶段的评审,在早期把错误解决,以减少错误放大效应,这样不仅可以提高软件质量,而且也是降低软件成本的一个重要措施;由此,软件测试应该尽早和不断地进行;9.MVC是Model-View-Controller的简写;"Model" 代表的是应用的业务逻辑通过JavaBean,EJB组件实现, "View" 是应用的表示层由JSP页面产生,"Controller" 是提供应用的处理过程控制一般是一个Servlet,通过MVC把应用逻辑,处理过程和显示逻辑分成不同的组件实现;10.Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开源应用框架; Struts框架主要有如下功能:1包含一个controller servlet,能将用户的请求发送到相应的Action对象; 2JSP 自由tag库,并且在controller servlet中提供关联支持,帮助开发人员创建交互式表单应用;3提供了一系列实用对象,如XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息等;开源软件存在的主要问题有:1技术服务支持较少;2版本控制困难;3性能不够稳定;4文档不全,等等;11.IDEF0方法的特点是:1采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能;2采用严格的自顶向下、逐层分解的方式建立系统功能模型;顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略;同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义;12.根据原型的不同作用,有三类原型模型:⑴探索型原型;这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性;它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求;⑵实验型原型;这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性;⑶演化型原型;这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能;在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程;六、综合题:1. System 网络学院人员管理人员教师学生登录修改个人信息浏览学生信息浏览教师信息删除个人信息2.3.4.5.6.1选择测试路径:Ⅰ:a→ b → d 判定A>1∨B=0为假;判定A=2∧X>1为假Ⅱ:a→ c → e 判定A>1∨B=0为真;判定A=2∧X>1为真2选择测试用例Ⅰ:输入A=1 B=1 X=1 预期输出 X=1Ⅱ:输入A=2 B=0 X=4 预期输出 X=4。
软件工程复习题及参考答案3(EF)

《软件工程》课程复习资料一、填空题:1.基于计算机系统总体可靠性与以下三个方面紧密关联:硬件可靠性、软件可靠性和。
2.面向对象的软件过程是以为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。
3.需求分析的任务主要有两个:通过对问题及环境的理解、分析和综合,建立分析模型;在完全弄清用户对软件系统的确切要求的基础上,用把用户的需求表达出来。
4.需求开发又分为可行性研究、需求导出和分析、和需求验证。
5.对象包含两个基本的因素,和方法。
6.数据流图包括以下两种类型:变换型数据流图和。
7.系统设计阶段的输出结果是适应应用软件要求的、类间关系以及子系统的规格说明。
8.软件测试是为了发现而执行程序的过程。
9.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批,并利用它们去运行程序,以发现程序错误的过程。
10.软件变更可以是修改代码错误的简单变更、更正设计错误的较大范围的变更、对描述错误进行修正或者增加新需求的重大改进。
软件变更可以考虑以下几个策略:、体系结构转换、软件再工程等策略。
11.软件维护性是软件的内在固有属性,它是的重要组成部分。
12.质量评审和自动化的软件评估是质量控制的两种方式。
评审活动主要包括、进展评审和质量评审等几种不同类型。
二、单项选择题: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.对象的实现描述中不包括以下哪个信息? [ ]A.由一组消息和注释组成的协议描述B.对象名及所属对象类C.私有数据结构的每一数据项及其类型D.每个操作的过程性描述或指向这样一个过程性描述的指针8.Grenford J.Myers就软件测试目的提出的观点不包括以下哪项? [ ]A.测试是程序的执行过程,目的在于发现错误B.证明软件的功能和性能与需求说明相符合C.一个好的测试用例在于能发现至今未发现的错误D.一个成功的测试是发现了至今未发现的错误的测试9.黑盒测试又称为 [ ]A.结构测试B.代码测试C.功能测试D.路径测试10.纠错技术主要是指定位程序错误采用的工具和手段,常用的定位错误方法不包括 [ ]A.插入打印语句B.设置断点C.根据结果推理D.掩蔽部分程序11.为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做 [ ]A.完善性维护B.适应性维护C.改正性维护D.预防性维护12.( )和自动化的软件评估是质量控制的两种方式,其中前者是由一组人员对软件、文档编制和软件制作过程进行评审。
软件工程考试题及答案

软件工程考试题及答案一、选择题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(每题1分,共20 分)
1. “软件危机”是指( )
A. 计算机病毒的出现
B. 利用计算机进行经济犯罪活动
C. 软件开发和维护中出现的一系列问题
D. 人们过分迷恋计算机系统
2. DFD 中的每个加工至少需要( )
A. 一个输入流
B. 一个输出流
C. 一个输入或输出流
D. 一个输入流和一个输出流
3. 为了提高模块的独立性,模块之间最好是( )
A. 控制耦合
B. 公共耦合
C. 内容耦合
D. 数据耦合
4. 下面关于PDL语言不正确的说法是()
A. PDL 是描述处理过程怎么做
B. PDL 是只描述加工做什么
C. PDL 也称为伪码
D. PDL 的外层语法应符合一般程序设计语言常用的语法规则
5. 详细设计与概要设计衔接的图形工具是( )
A. DFD 图
B. 程序图
C. PAD 图
D. SC 图
6. 不适合作为数据处理与数据库应用的语言是( )
A. SQL
B. Cobol
C. 4GL
D. Lisp
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. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( ) 的方法和技术中产生的。
A. 需求阶段
B. 设计阶段
C. 测试阶段
D. 软件开发的各个阶段
14. 从目前情况来看,增量模型存在的主要问题是( )
A. 用户很难适应这种系统开发方法
B. 该方法的成功率很低
C. 缺乏丰富而强有力的软件工具和开发环境
D. 缺乏对开发过程中的问题和错误具有应付变化的机制
15. 下列有关软件工程的标准,属于行业标准的是( )
A. GB
B. DIN
C. ISO
D. IEEE
16. 下列文档与维护人员有关的有( )
A. 软件需求说明书
B. 项目开发计划
C. 概要设计说明书
D. 操作手册
17. 在屏蔽软件错误的冗错技术中,冗余附加件的构成包括( )
A. 关键程序和数据的冗余存储和调用
B. 为检测或纠正信息在运算或传输中的错误须外加的一部分信息
C. 检测、表决、切换、重构、纠错和复算的实现
D. 实现错误检测和错误恢复的程序
18. ( ) 是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。
A. 质量检测
B. 软件容错
C. 软件维护
D. 系统容错
19. 表示对象相互行为的模型是()模型。
A. 动态模型
B. 功能模型
C. 对象模型
D. 静态模型
20. CASE工具的表示集成是指CASE X具提供相同的()
A. 编程环境
B. 用户界面
C. 过程模型
D. 硬件/ 操作系统
二、填空题(本大题共13小题,每空 1 分,共20分)
1. 软件工程是指导计算机软件__开发______ 和____ 维护 ____ 的工程科学。
2. 在软件生命周期中, ____ 需求分析_____ 的任务是准确回答“目标系统必须做什么”这
个问题。
3. 快速原型所能完成的功能往往是最终产品能完成的功能的一个__子集_____ 。
4. 分析阶段的最终成果是 ______ 软件需求____ 。
5. 结构化设计中的数据设计把分析阶段创建的___信息域_____ 模型转变成实现软件所需
要的____ 结构系统____ 。
6. 软件维护的主要任务是使软件能持久地 ___________ 满足用户的需求 _________ 。
7. 程度最低的耦合是__数据_ __耦合、程度最高的内聚是 _________ 功能___内聚。
8. 从理论上讲,程序设计中最基本的控制结构只有___顺序__结构和__循环__结构两种。
9. 黑盒测试方法中的等价类划分把程序的___输出数据 ______ 划分成等价类,并据此导出
测试用例。
10. 面向对象方法用___对象____ 分解取代了传统方法的__目的______ 分解。
11. 在面向对象的分析过程中建立动态模型的第一步是编写典型交互行为的___脚本_____
12. 所谓面向对象设计就是用面向对象观点建立 _______ 解域 ____ 模型的过程。
13. 设计类中的______ 服务 ____ 是面向对象设计的一项重要工作内容。
14. 选择编程语言的关键因素是语言的一致的表达能力、 _________ 重用性____ 和 ____ 维护性
、名词解释(本大题共 5 小题,每小题 3 分,共15分)
1. 需求分析
将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
2. 耦合性
指软件系统结构中各模块间相互联系紧密程度的一种度量。
3. 结构化程序设计
它指导人们用良好的思想方法开发易于理解、易于验证的程序。
结构化程序设计方法的基本要点是:1)采用自顶向下、逐步求精的程序设计方法2)使用三种基本控制结构构造程序3)主程序员组的组织形式。
4. 状态图
状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。
5. 软件配置管理
它用于整个软件工程过程。
其主要目标是:标识变更;控制变更;确保变更正确地实现;
报告有关变更。
SCM是一组管理整个软件生存期各阶段中变更的活动。
四、问答题(本大题共5小题,每小题 5 分,共25分)
1. 分析软件危机产生的主要原因有哪些?
2. 说明结构化程序设计的主要思想是什么??答:(1)自顶向下、逐步求精的程序设计方法。
(2)使用 3 种基本控制结构、单入口、单出口来构造程序。
3. 软件测试包括哪些步骤?说明这些步骤的测试对象是什么?
4 . 需求分析与软件设计二个阶段任务的主要区别是什么?
5. 说明软件测试和调试的目的有何区别?
答:测试的目的是判断和发现软件是否有错误。
调试的目的是定位软件错误并纠正。
五、应用题(本大题共2小题,每小题10 分,共20分)
1. 某培训中心要研制一个计算机管理系统。
它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。
1) 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是
否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
2) 如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的
修改,并给学生注销单。
3) 如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
要求:
画出该培训管理的软件结构图的主图。
2. 画出业务流程图。
成品库保管员按车间送来的入库登记单登记库存台帐。
发货时,发货员根据销售科送来的发货通知单将成品出库,并发货,同时填写三份出库单,其中一份交给成品库保管员,由他按此出库单登记库存台帐,出库单另外两联分别送销售科和财务科。