软件工程复习资料.docx
《软件工程复习资料.docx》由会员分享,可在线阅读,更多相关《软件工程复习资料.docx(55页珍藏版)》请在冰豆网上搜索。
软件工程复习资料
《软件工程导论》综合练习一
一、名词解释题(每小题3分,共15分)
1. 软件过程:
2. 白盒测试:
3. 数据流图:
4.对象:
5. 软件生存周期模型:
二、填空题(每小题2分,共20分)
1.软件测试是为了( )一起构成完整的计算机系统。
2.软件是一种( )产品,它与物质产品有很大区别。
3.瀑布模型是将( )各活动规定为依( )联结的若干阶段的模型。
4.过程成熟度框架描绘了一条从无序的、混乱的过程达到成熟的、有纪律的( )的进化途径。
5.结构化方法由结构化分析、( )、结构化程序设计构成,它是一种面向( )的开发方法。
6.软件结构是以( )为基础而组成的一种控制层次结构。
7.反映软件结构的基本形态特征是( )、( )、( )和( )。
8.一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( )。
9.低耦合是软件设计的一个重要标准,在面向对象设计中,耦合主要指不同( )之间相互关联的紧密程度。
10.为便于对照检查,测试用例应由输入数据和预期的( )两部分组成。
三、选择题(每小题1分,共20分)
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.为了提高模块的独立性,模块内部最好是( )
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
9.结构化分析方法(SA)是一种面向( )的需求分析方法。
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.代码的规模 B.运行速度 C.质量 D.可维护性
16.在采用逻辑覆盖法设计测试用例时,下列几种方法中,( )的覆盖程度是最强的。
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖
17.类是一组具有相同( )、操作、关系和语义的对象的描述。
A.属性 B.算法 C.特征 D.定义
18.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护
19.RUP的突出特点是,它是以用况为驱动的、以( )为中心的迭代、增量式开发。
A.对象 B.UML C.设计方法 D.体系结构
20.描述结构化系统分析方法的工具不包括( )。
A.数据流图 B.组织结构图 C.数据词典 D.结构化语言
四、简答题(每小题5分,共20分)
1.试述系统开发的生命周期。
答:
2.什么是软件危机?
产生软件危机的主要原因是什么?
答:
3.软件维护的类型与特点是什么?
答:
4.简述面向对象分析模型的建立方法。
答:
五、应用题(共25分)
1.请将任意一个DFD转换为软件结构图。
(DFD图可到任意一本教科书上找,越复杂越好)。
2.用SA方法画出下列问题的顶层和0层数据流图。
某运动会管理系统接受来自运动员的报名单、裁判担任工作的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。
该系统有两部分功能:
(1)登记报名单:
接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存贮。
(2)统计成绩:
接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
3.某公司有许多部门,每个部门有一个唯一的名字;每个部门由一名经理负责,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。
该公司有许多员工为之工作,员工又进一步划分为经理和工人两类。
每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。
请画出该公司的对象模型。
《软件工程导论》综合练习一参考答案
一、名词解释题(每小题3分,共15分)
1.面向对象的方法:
是使描述问题的问题空间与解决问题的方法空间在结构上尽可能一致。
2.白盒测试:
是一种以程序的内部逻辑结构为依据设计测试用例的方法,也称结构测试或玻璃盒测试。
3.数据流图:
是表示系统逻辑模型的常用工具,图中不存在任何具体的物理元素,只表示信息在系统中流动和处理的情况。
数据流图是逻辑系统的图形化表示,因此,它是系统分析员与用户进行交流的极好的工具。
4.软件工程:
开发、运行、维护和修复软件的系统方法,是指导计算机软件开发和维护的工程性学科。
5.软件生存周期模型:
是描述软件开发过程中各种活动如何执行的模型。
二、填空题(每小题2分,共20分)
1.硬件与(软件)一起构成完整的计算机系统。
2.软件是一种(逻辑 )产品,它与物质产品有很大区别。
3.瀑布模型是将(生存周期)各活动规定为依(线性顺序)联结的若干阶段的模型。
4.快速原型是一种快速建立起来的能够展示目标系统的(关键功能)的可实际在计算机上运行的(软件 )。
5.结构化方法由结构化分析、(结构化设计)、结构化程序设计构成,它是一种面向(数据流)的开发方法。
6.软件结构是以(模块)为基础而组成的一种控制层次结构。
7.反映软件结构的基本形态特征是(深度)、(宽度)、(扇入)和(扇出)。
8.一个模块把数值作为参数传送给另一个模块,这种耦合方式称为(数据耦合)。
9.低耦合是软件设计的一个重要标准,在面向对象设计中,耦合主要指不同(对象)之间相互关联的紧密程度。
10.为便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。
三、选择题(每小题1分,共20分)
1.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。
A.数据流图 B.数据字典 C.结构化英语 D.判定树和判定表
2.需求分析阶段的任务是确定(D)
A.软件开发方法 B.软件开发工具
C.软件开发费用 D.软件系统的功能
3.模块(C),则说明模块的独立性越强。
A.耦合越强 B.扇入数越高 C.耦合越弱 D.扇入数越低
4.在设计测试用例时,(A)是用的最多的一种黑盒测试方法。
A.等价类划分 B.边界值分析 C.因果图 D.判定表
5.面向对象的主要特征除对象惟一性、封装、继承外,还有(A)
A.多态性 B.完整性 C.可移植性 D.兼容性
6.Jackson方法是一种面向(B)的方法。
A.对象 B.数据结构 C.数据流 D.控制流
7.模块间的信息可以作“控制信息”用,也可以作为(D)用。
A.控制流 B.数据结构 C.控制结构 D.数据
8.为了提高模块的独立性,模块内部最好是(C)
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
9.结构化分析方法(SA)是一种面向(C)的需求分析方法。
A.对象 B.数据结构 C.数据流 D.控制流
10.模块的(B)定义为受该模块内一个判断影响的所有模块集合。
A.控制域 B.作用域 C.宽度 D.接口
11.在进行软件结构设计时应遵循的最主要的原理是(C)原理。
A.抽象 B.模块化 C.模块独立 D.信息隐藏
12.因果图法是根据(A)之间的因果关系来设计测试用例的。
A.输入与输出 B.设计与实现 C.条件与结果 D.主程序和子程序
13.(A)数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A.变换型 B.事务型 C.结构化 D.非结构化
14.在进行软件测试时,首先应当进行单元测试,然后进行(B),最后再进行有效性测试。
A.组合测试 B.集成测试 C.有效性测试 D.确认测试
15.详细设计的结果基本决定了最终程序的(C)。
A.代码的规模 B.运行速度 C.质量 D.可维护性
16.在采用逻辑覆盖法设计测试用例时,下列几种方法中,(D)的覆盖程度是最强的。
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖
17.模块的内部过程描述就是模块内部的(B),其表达形式就是详细设计语言。
A.模块化设计 B.算法设计 C.程序设计 D.详细设计
18.软件生命周期中所花费用最多的阶段是(D)
A.详细设计 B.软件编码 C.软件测试 D.软件维护
19.CASE是一组(B)的集合。
A.工具 B.工具和方法 C.方法 D.程序
20.描述结构化系统分析方法的工具不包括(B)。
A.数据流图 B.组织结构图 C.数据词典 D.结构化语言
四、简答题(每小题5分,共20分)
1.试述系统开发的生命周期。
答:
系统开发是管理信息系统建设中最重要的一个阶段,从项目开发开始到结束的整个过程,称为系统开发的生命周期。
系统开发的生命周期一般分为以下阶段:
(1)系统分析:
这一阶段的主要任务是明确用户的信息需求,提出新系统的逻辑方案。
需要进行的工作有系统的初步调查、可行性研究、现行系统的详细调查及新系统逻辑模型的提出等。
(2)系统设计:
这一阶段的主要任务是根据新系统的逻辑方案进行软硬件系统的设计,其中包括总体结构设计、输出设计、输入设计、处理过程设计、数据存贮设计和计算机系统方案的选择等。
(3)系统实现:
这一阶段将设计的系统付诸实施,主要工作有软件的程序编制与软件包的购置、计算机与通讯设备的购置、系统的安装、调试与测试、新旧系统的转换等。
2.什么是软件危机?
产生软件危机的主要原因是什么?
答:
软件危机是计算机软件开发和维护过程中遇到的一系列严重问题的反映。
这些问题不仅仅限于所开发出的软件不能正常工作,还包括如何开发软件,如何维护越来越多的现有软件,以及如何满足不断增长的软件需求。
软件危机的出现,一方面是由于软件本身的特点引起的,如软件越来越复杂、软件故障难于检测、工作量难以估计等;另一方面则是因为软件开发和维护方法不当所造成的,如软件的个体化特征、作坊式生产等。
软件危机的产生原因也可写出6条,即:
软件规模越来越大,结构越来越复杂;软件开发管理困难且复杂;软件开发费用不断增加;软件开发技术落后;生产方式落后,仍采用手工方式;开发工具落后,生产率提高缓慢。
3.软件维护的类型与特点是什么?
答:
软件维护的类型主要有4种:
改正性维护、适应性维护、完善性维护和预防性维护。
改正性维护:
识别和纠正软件错误,改正性能上的缺陷,排除实施中的误使用而进行的诊断和改正错误的活动。
约占整个维护的20%。
适应性维护:
使软件适应处理环境或数据要求的变化而修改软件的活动,约占整个整个维护的25%。
完善性维护:
修改或再开发软件,以扩充软件功能,增强软件性能等,约占整个维护的50%。
预防性维护:
采用先进的软件工程方法对需要维护的软件或软件的一部分(重新)进行设计、编码和测试。
连同其他维护约占整个维护的5%。
4.简述面向对象分析模型的建立方法。
答:
进行面向对象分析时,需要建立面向对象的对象模型、功能模型和行为模型。
建立对象模型,首先要确立系统中有哪些对象(或类)和每一个对象(或类)需要哪些属性,然后确定对象(或类)之间的关系。
对象模型通常使用类似于实体-关系图这样的图形工具进行表示。
建立行为模型,是要确定系统的动态行为,即对象能够发送或接收的事件以及系统状态发生转移的情况。
行为模型通常使用类似于状态转移图等图形工具进行表示。
建立功能模型的目的,是要确定如何来完成对数据(即对象中的属性对应的数据结构)进行计算和处理。
功能模型通常使用类似于数据流图的图形工具进行表示。
五、应用题(共25分)
1.请将下面的DFD转换为软件结构图
略
2.用SA方法画出下列问题的顶层和0层数据流图。
某运动会管理系统接受来自运动员的报名单、裁判担任工作的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。
该系统有两部分功能:
(1)登记报名单:
接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存贮。
(2)统计成绩:
接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
3.某公司有许多部门,每个部门有一个唯一的名字;每个部门由一名经理负责,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。
该公司有许多员工为之工作,员工又进一步划分为经理和工人两类。
每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。
请画出该公司的对象模型或E-R模型。
《软件工程导论》综合练习二
一、选择题
1.中级结构性成本模型COCOMO是一个( )。
A.静态单变量模型 B.动态单变量模型
C.静态多变量模型 D.动态多变量模型
2.在McCall软件质量质量模型中,( )属于面向软件产品操作的质量因素。
A.可用性 B.可维护性
C.适应性性 D.互操作性
3.面向对象的开发方法中,( )将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch方法 B.Coad
C.UML语言 D.OMT方法
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.Ada语言是在Pascal语言基础上开发出来的,适用于( )项目的应用领域。
A.科学工程计算 B.数据库应用
C.实时处理 D.人工智能
11.程序设计语言的工程特性之一为( )。
A.软件的可重用性 B.数据结构的描述性
C.抽象类型的描述性 D.数据库的易操作性
12.软件详细设计的主要任务是确定每个模块的( )。
A.算法和使用的数据结构 B.外部接口
C.功能 D.编程
13.PAD图为( )提供了有力的工具。
A.系统分析 B.软件的自动化生成
C.自动分析数据 D.测试数据
14.软件结构图的形态特征能反映程序重用率的是( )。
A.深度 B.宽度
C.扇入 D.扇出
15.在大型数据处理系统的功能分析与设计中,数据库的概念设计对应于系统开发的( )。
A.需求分析 B.概要设计
C.详细设计 D.程序设计
16.为了提高模块的独立性,模块内部最好是( )。
A.逻辑内聚 B.时间内聚
C.功能内聚 D.通信内聚
17.软件结构图中,模块框之间若有直线联接,表示它们之间存在( )。
A.调用关系 B.组成关系
C.链接关系 D.顺序执行关系
18.需求分析最终结果是产生( )。
A.项目开发计划 B.需求规格说明书
C.设计说明书 D.可行性分析报告
19.可行性研究要进行一次( )需求分析。
A.深入的 B.详尽的
C.彻底的 D.简化的`压缩了的
20.软件是一种( )。
A.程序 B.数据
C.逻辑产品 D.物理产品
二、填空题
1.成本估算模型中,Putnan估算模型是一种‗‗‗‗‗‗模型。
2.功能模型描述子系统的所有计算,它由‗‗‗‗‗‗‗组成。
3.在软件开发阶段用来减少错误,提高软件可维护性的技术称为‗‗‗‗‗的技术。
4.测试是一种挑剔行为,‗‗‗‗‗‗‗‗是测试自己程序的障碍。
5.程序设计语言的心理特征所表现的简洁性是指程序员必须记住的‗‗‗‗‗‗‗的数量。
6.JSP方法主要体现程序的设计,不明确地划分‗‗‗‗‗‗‗和详细设计的两个阶段。
7.按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和‗‗‗‗‗‗‗。
8.数据流图仅反映系统必须完成的逻辑功能,所以它是一种‗‗‗‗‗‗‗‗‗模型。
9.社会可行性所涉及的范围包括合同`责任`侵权‗‗‗‗‗‗‗‗,其他一些技术人员常常不了解的陷阱等。
10.软件开发方法是一种使用早已定义好的技术集及‗‗‗‗‗‗‗‗组织软件生产的过程。
三、名词解释
1.程序的可移植性。
2.结构冲突。
3.模块的作用范围。
4.系统流程图。
5.软件工程过程。
四、简答题
1.为什么说"CASE领域是一个应用`集成和综合的领域"?
2.软件复杂性度量的主要参数有那些?
简单说明其含义。
3.简述三种面向对象模型的主要功能。
4.试画出Javkson方法所用的结构的三种基本结构。
五、应用题
1.一本书的组成有一个封面,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句,每节有0个或多个插图,还月个或多个表格,最后有一个附录。
试建立该书的对象类型。
2.根据下条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:
以零开头的数是八进制整数,其值的范围是-177~~177,如05,0127,-065。
3.高校录取统分子系统有如下功能:
(1)计算标准分:
根据考生原始分计算,得到标准分,存入考生分数文件。
(2)计算录取先分:
根据标准分`招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
《软件工程导论》综合练习二参考答案
一、选择题
1.C 2.A 3.C 4.A 5.A 6.C 7.C
8.A 9.D 10.C 11.A 12.A 13.B