软件工程期末考试参考试题
软件工程期末考试参考试题
一、填空题
1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运
行与维护阶段。
2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计
方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。
6、数据流图和数据字典共同构成系统的逻辑模型。
7、软件测试的方法有分析方法和非分析方法(即黑盒法)。
8、单元测试一般以白盒测试为主,黑盒测试为辅。
?
9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。
10. 文档(document)—一种数据媒体和其上所记录的(数据)。
11 机器语言、汇编语言:依赖于机器,面向(机器)
12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。
13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
16. 一个软件的深度是指其控制的(层数)。
17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并
最终可运行的代码的过程叫(编码)过程。
18. 软件维护是软件生命周期的(最后)一个阶段
@
19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。
20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。
21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分
别表示数据流、转换、(数据源)以及外部实体。
22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生
类子类。
23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基
本控制构件。
24. 机器语言和汇编语言,也称为(低级)语言。
25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。
>
26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。
27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。
28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭
圆表示。
29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处
理数据的来源和一个(输出)数据流来反映加工的结果
30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。
31. 通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面
可(交互)性的措施之一。
32. 程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。
33. 对发现错误较多的程序模块,应进行(重点)测试。
34. 测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。
]
二、单项选择题
1.下列哪个阶段不属于软件生存周期的三大阶段(C)。
A、计划阶段
B、开发阶段
C、编码阶段
D、维护阶段
2.需求分析是(A )。
3. A、软件开发工作的基础B、软件生存周期的开始
4. C、由系统分析员单独完成的D、由用户自己单独完成的
5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。
6. A、明确的需求定义B、完整的生命周期
7. C、较长的开发时间D、熟练的开发人员
8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的
回归测试过程称为(A)。
9.A、改正性维护B、适应性维护
10.C、完善性维护D、预防性维护
11.一般说来,投入运行的软件系统中有错误(A)。
A、不是不可以理解的
B、是不能容忍的
、
C、是要求退货的理由
D、是必然的
6、对在数据流图中每一个命令的图形元素均给以定义是(B)
A、条目定义B、数据字典C、数据定义D、数据说明
7、软件的可行性研究中不包括(D)
A、法律可行性B、技术可行性C、经济可行性D、政治可行性
8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。
A. 纠错性维护
B. 适应性维护
C. 改善性维护
D. 预防性维护
9、人机界面的风格大致经过了(B)代的演变。
A. 三
B. 四
C. 五
D. 六
{
10、以下不属于白盒测试技术的是(D)
A.逻辑覆盖
B.基本路径测试
C.循环覆盖测试
D.等价类划分
11、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
A.纠错性维护
B.适应性维护
C.改善性维护
D.预防性维护
12、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的
方法。
A、面向对象
B、面向数据
C、面向过程
D、面向属性
13、判定表由四部分组成:左上部列出(B)。
A. 条件组合与动作之间的对应关系
B. 所有条件
C. 所有可能的动作
D. 可能的条件组合
14、面向对象的分析和设计(OOA&OOD)方法出现在20世纪(C)年代中期。
-
A. 50
B. 60
C. 70
D. 80
15、耦合度也可以分为七级:其中最松散的耦合是(A)。
A. 非直接耦合
B. 数据耦合
C. 特征耦合
D. 控制耦合
16、面向对象方法是将现实世界的事物以对象的方式(B)到计算机世界的方法。
A. 对应
B. 映射
C. 反映
D. 反射
17、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A. 流程图
B. 框图
C. 判定表
D. N-S图
18、描述静态数据结构的概念模式是(A)。
A、E-R图
B、DFD
C、结构图
D、框图
19、结构化程序设计理论认为,实现良好的程序结构要应用(A)的分析方法。
!
A、自顶向下
B、自底向上
C、面向对象
D、基于组件
20、在结构化程序设计当中,不建议使用(D)。
A、分支语句
B、循环语句
C、子程序调用语句
D、转向语句
21、软件生产过程中,需求信息由(D)给出。
A、程序员
B、项目管理者
C、软件分析设计人员
D、软件用户
22、在下列的基本成分中,哪个不是数据流程图的基本成分(D)
A、信息处理
B、信息存储
C、外部实体
D、系统状态
23、与设计测试数据无关的文档是(D )。
A、需求说明书
B、设计说明书
C、源程序
D、项目开发设计
三、多项选择题(每小题2分,共10分)
1.>
2.下面哪些测试属于白盒测试(AE )。
A、基本路径测试
B、等价类划分
C、边界值分析
D、错误推测
E、逻辑覆盖测试
3.下列哪些选项是属于内容耦合(ABC )。
A、一个模块直接访问另一个模块的内部数据
B、一个模块有多个入口
C、一个模块不通过正常入口转到另一模块内部
D、一个模块只有一个入口
4.下列属于度量效益方法的是(ABC )。
A、货币的时间价值
B、投资回收期
C、收入
D、投资回报率
5.:
6.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,
哪些是常采用的(ACD)。
A、自顶向下
B、自底向上
C、分层绘制
D、逐步求精
7.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具(ACD)。
A、结构图
B、实体联系图
C、IPO图
D、层次图
四、判断题。
1、在进行总体设计时应加强模块间的联系。(×)
2、系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图
当作系统流程图使用。(×)
3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×)
4、在程序调试时,找出错误的位置和性质比改正该错误更难。(√)
5、以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概
要设计方法之一。(√)
,
6、如果通过软件测试没有发现错误,则说明软件是正确的。(×)
7、快速原型模型可以有效地适应用户需求的动态变化。(√)
8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合
度的软件产品。(√)
9、集成测试主要由用户来完成。(×)
10、软件危机完全是由于硬件问题引起的。(×)
11. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的
原因之一。(√)
12. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(×)
13. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为
了获取第一手资料,并从中提取出有价值的需求。(√)
14. 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、
或设计一些复杂的算法等场合。(√)
15. 流程图也称为程序(框图)是最常用的一种表示法。(√)
(
16. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和
重复三种基本形式表示数据等步骤。(√)
17. 理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)
18. 数据输入的一般准则中包括尽量(增加)用户输入的动作。(×)
19. 用穷举测试是较现实的测试方法。(×)
20、编码时应尽可能使用全局变量(×)
21、重视程序结构的设计,能使程序具有较好的层次结构(√)
22、程序中的注解越少越好(×)
23. 纠错性维护是改正运行期间发现的潜伏错误。(√)
24. 软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一
个上去的难易程度。(√)
25. 软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(×)
,
26. 当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。(√)
27. 一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦
合和公共数据耦合,杜绝内容耦合。(√)
28. 设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及
人-机工程学、语言学等学科的知识。(×)
29. 第四代语言(4GL)还局限在某些领域内,如数据库查询语言。(√)
30. 不同程序设计语言在程序的效率上的差异不大。(×)
31. 编码的依据是详细设计说明书。(√)
32. 程序文档应该包括代码的功能、代码的完成者等内容。(√)
33. 软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。(√)
34. 预防性维护是修改软件,以适应软硬件环境的变化。(×)
35. 开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(√)
'
36. 据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维
护工作量的60%以下。(×)
37. 数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内
容或功能。(×)
38. 软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。(√)
39. 最高耦合度是数据耦合。(×)
40. 人机界面(Human-Computer Interface,简称HCI)又称人- 机接口或用户界面。
(√)
41. 在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用
不同的形式和风格。(×)
42. 判定覆盖必然满足语句覆盖。(√)
43. 为提高可交互性一般对大多数操作动作应允许用户恢复。同时应尽量减少用户
记忆的信息量。(√)
44. 编程中应采用统一的标准和约定,降低程序的复杂性。(√)
45. 软件在使用过程中维护不十分复杂。(×)
(
46. 软件可重用性(reusability),是指软部件可以在多种场合使用的程度。(√)
47. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的
原因之一。(√)
48. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、
或设计一些复杂的算法等场合。(√)
49. 流程图也称为程序框图是最常用的一种表示法。(√)
50. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和
重复三种基本形式表示数据等步骤。(√)
51、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。(×)
52.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√)
53.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细
定义。(×)
语言编译器是一个CASE工具。(√)
55.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开
发实际上就是编写程序代码。(×)
【
56.软件模块之间的耦合性越弱越好。(√)
57.数据库设计说明书是一个软件配置项(√)
58.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,
对象是生成类的模板。(×)
59.过程描述语言可以用于描述软件的系统结构。(×)
60.快速原型模型可以有效地适应用户需求的动态变化。(√)
61.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√)
62.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。(√)
63.并发系统中遇到的一个主要问题是定时问题。(√)
64.面向对象建模得到的模型包含系统的3 个要素,即静态结构、交互次序和数据变换。(√)
65.软件重用是提高软件开发生产率和目标系统质量的重要途径。(√)
&
66.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
67.Power Designer 是一个CASE 工具。(√)
68.在进行需求分析时需同时考虑维护问题。(×)
69.UML 是一种面向对象的分析设计方法,即OOA/OOD 方法。(×)
70.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,
类是生成对象的模板。(√)
五、简答题
1、什么是软件危机为什么会产生软件危机
答:软件危机是指软件在开发和维护过程时所遇到的一系列问题。主要包含二方面的问题:一是如何开发软件以满足社会对软件日益增长的需求,二是如何维护数量不断增长的已有软件。产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
2、耦合性有哪几种类型 其耦合度的顺序如何 非直接 耦合 数据 耦合 特征
耦合 控制 , 耦合
外部
耦合 公共 耦合
内容 耦合
其中,1、2、3属于弱耦合,4属于中度耦合,5、6属于较强耦合、7属于强耦合。 非直接耦合 数据耦合特征耦合
控制耦合外部耦合 公共耦合内容耦合
偶然 逻辑 时间 通信 顺序 功能 偶然 内聚性
低 高
·
耦合性
低 高 模块独立性
强 … 弱
其中,1、2、3属于低内聚,4属于中内聚,5、6属于高内聚。 "
3、简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则
答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:①必须能够表达和理解问题的数据域和功能域;②必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;③要给出系统的逻辑视图和物理视图。
4、什么是黑盒测试法
答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
5、什么是软件生存周期
答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到软件产品被淘汰的全过程。
6、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么
答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示信息进行加工处理的控制过程。
7、为什么数据流图要分层
~
答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达
稍微复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据
流图反映这种结构关系。
8、软件的质量反应为哪些方面的问题
答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。
在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软
件。
如果不遵这些开发准则,软件质量就得不到保证。
模块独立性 弱
强
往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。
软件质量是各种特性的复杂组合。它随着应用的不同为不同,随着用户提出的质量要求不同而不同。
9、软件工程的基本原则有抽象、信息隐藏、模块化和其他哪些内容(软件工程必须
遵循那些基本原则)
答:1) 抽象2) 信息隐藏(2分)3) 模块化(2分)4) 局部化5) 一致
性6) 完全性7) 可验证性(2分)
10、常用的软件项目的估算方法主要有哪4种
)
1) 自顶向下的估算方法2) 自底向上的估算方法3) 差别估算法
4) 根据经验估算公式
11、原型法模型一般适应哪些场合
它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
12、简答结构化程序设计的内容及基本要点。
内容:是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。
基本要点:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
(4)采用单入口单出口的模块形式。
【
13、瀑布模型一般适应哪些场合
瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。
例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。
14、软件工程的目标是什么
答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
15、螺旋模型的适应场合有哪些
答:适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格
说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
16、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包
括哪些主要内容
答:1) 风险标识2) 风险估算3) 风险评价4) 风险驾驭和监控。
17、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成
答:1) 详细设计2) 实现3) 组装设计4) 验收测试
[
18、实体—关系(Entity-Relation)图简称E-R图,是表示数据对象及其之间关系的图
形语言机制。
19、需求评审标准(按照重要性的次序)包括哪些内容
答:1)正确性2)无歧义性3)完全性4)可验证性5)一致性
6)可理解性7)可修改性8)可追踪性。
20、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。
21、需求分析的任务是什么
答:需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。
22、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并
在软件开发过程中按计划管理经费的使用。
23、快速原型技术的基本思想是什么
答:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。
(
24、程序设计语言有哪些特点
答:1)一致性2)二义性3)紧致性4)局部性
25、可将软件生存周期划分为哪3个过程和哪9个阶段
答:(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。(2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
六、分析设计题
1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副
教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。
答:
输入条件合理等价类不合理等价类
|
职称
①教授
②副教授
③讲师
⑤四种职称之外任意一种
职称兼工龄
④助教兼工龄大于2
年
⑥助教兼工龄等于两年
⑦助教兼工龄小于两年
设计测试用例:
【
输入数据
预期结果覆盖范围
教授输入有效,进行调整工资处理①
副教授输入有效,进行调整工资处理②
讲师输入有效,进行调整工资处理③
助教3输入有效,进行调整工资处理④
助教2输入有效,不调整工资处理⑥
助教1输入有效,不调整工资处理⑦
工程师输入无效⑤
2.假定某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量
超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示计算行李费的算法。
3、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度V(G)。
解:1)流图如(图2)所示:
(2)计算其环形复杂度:V(G)=E –N +2=13 –10 +2=5
软件工程期末考试题含答案
一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段
软件工程期末考试重点
软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改
以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。
软件工程导论期末考试试题和答案
1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__ 测试________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件 和应用软件。 3.可行性研究主要集中在以下四个方面经济可行性、技术可行 性、法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计 方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6.__数据流图________和__数据字典___共同构成系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估 计三种类型。 1.下列哪个阶段不属于软件生存周期的三大阶段( C )。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是(A )。 3.A、软件开发工作的基础B、软件生存周期的开始 4.C、由系统分析员单独完成的D、由用户自己单独完成的 5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。 6.A、明确的需求定义B、完整的生命周期 7.C、较长的开发时间D、熟练的开发人员 8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归 测试过程称为( A )。 9.A、改正性维护B、适应性维护 10.C、完善性维护D、预防性维护 11.一般说来,投入运行的软件系统中有错误(A )。
软件工程期末考试题3
试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?
2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。
软件工程期末复习知识点整理
复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护
软件工程期末考试总结习题
得分评卷人一、填空题(每空1分,共20分) 1. 软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。 2. 按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3. 可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4. 用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5. 常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6. __数据流图________和__数据字典___共同构成系统的逻辑模型。 7. 软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8. 单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9. 成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。 五、简答题(每小题5分,共20分) 1. 什么是软件危机?为什么会产生软件危机? 2. 耦合性有哪几种类型? 其耦合度的顺序如何 3. 简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则? 4. 什么是黑盒测试法? 得分评卷人六、分析设计题(每小题10分,共20分) 1. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。 2. 假定某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示计算行李费的算法。 一、填空题(每空1分,共20分) 1. 问题定义需求分析测试 2. 系统软件支撑软件 3. 经济可行性技术可行性法律可行性 4. 可使用性 5. 结构化设计方法(SD)Jackson方法面向对象设计方法(OOD) 6. 数据流图数据字典 7. 分析方法非分析方法 8. 白盒黑盒 9. 自顶向下估计自底向上估计 五、简答题(每小题5分,共20分) 1. 答:软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。产生软件危机的原
2019最新软件工程导论期末考试题库及答案
2019最新软件工程导论期末考试题库及答案 1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM 公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符 号表达了系统中各种元素之间的_____信息流动_____情况。4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集 成测试)、__确认测试__和_____系统测试(集成测试)____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合” 的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。
软件工程(清华钱乐秋版)期末复习重点
1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下
软件工程期末考试参考试题
软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。
软件工程导论期末考试题
一、单项选择题 1.适合于面向对象方法学的软件生存周期模型是( B ) A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。 A. 1 B.2 C.3 D.5 3. 可行性分析研究的目的是( A )。 A.项目值得开发否 B.争取项目 C.开发项目 D.规划项目 4. 模块的内聚性最高的是 ( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( B ) A. 软件工程 B. 软件危机 C. 软件周期 D. 软件产生 6. 需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 完整的软件结构通常用( B )图来表示。 A. IPO 图 B. HIPO 图 C.PAD 图 D.DFD 图 8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。 A.语句 B.路径 C.条件组合 D.判定 9?对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 10. 在数据流图中,圆代表( C )。 A.源点 B.终点 C.加工 D.模块 11. 模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。 A.松散 B.紧密 C.无法判断 D.相等 12. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑 13. 面向对象开发方法中, ( C )是占主导地位的标准建模语言。 A.Booch 方法 B.Coad 方法 C.UML 语言 D.OMT 方法 14. 软件需求分析的主要任务是准确地定义出要开发的软件系统是( C ) A.如何做 B.怎么做 C.做什么 D.对谁做 15. 结构化程序设计的一种基本方法是( C ) A.筛选法 B.迭代法 C.逐步求精法 D.递归法 二、填空题 1. 目前使用最广泛的软件工 程学方法分别是传统方法学和(面向对象方法学 ) )和事务流。 文档 ) 。 ( 重复 )三种结构。 自顶向下 的集成测试方法,对软件结构中下层使 6. 软件维护包括 ( 改正性维护 )、适应性维护、完善性维护、预防性维护。 7. 面向对象方法学建模得到的三个基本子模型是 (对象建模 ) .动态模型、功能模型。 8. 复杂大型问题的对象模型通常由主题 2. 数据流图中信息流的类型有(变换流 3. 软件的定义是:软件 =程序+数据+ 4. 经典结构程序设计包括顺序、选择和 5. 集成测试时对软件结构中上层使用 用 ( 自底向上 ) 的集成测试方法。
山东大学-软件工程复习重点整理
第一章 1.1软件工程(SE)的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的基础上,研究如有计划、有效率、经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护软件的法、过程、原则。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,结构化模式,基于过程的模式等 SE的作用:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。 1.2开发模式:软件开发的全部过程,活动和任务的结构框架,它能直观的表达的表达软件开发全过程,明确要完成的主要活动,任务和开发策略。 1.3说明错误、故障和失效的含义及联系(并举例): 错误:是在软件生产过程中人为产生的错误(需求说明中的错误,代码中的错误) 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现(一个错误可能产生多个缺陷,静态存在的) 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为(动态存在的) 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果(部观角:从开发者的角度看待问题),当故障执行时出现失效(外部视角:从用户角度看到的问题)。并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之: (1产品的质量)(2过程的质量)(3商业环境背景下的质量) (1)产品的质量:用户从失败的数目和类型等外部特征进行评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 (2)过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了差错,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 (3)商业环境背景下的软件质量:将技术价值和商业价值统一起来。 1.5软件系统的系统组成(系统的要素有哪些):对象(实体)+ 活动+ 关系+ 系统边界活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。 1.6现代软件工程大致包含几个阶段及各个阶段的文档: (1)需求分析:主要包括问题定义、可行性分析、需求分析《需求规格说明书》
《软件工程》期末考试参考题及答案
一、填空题(每空1分,共20分) 1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__ 测试________、运行与维护阶段。 2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件 和应用软件。 3.可行性研究主要集中在以下四个方面经济可行性、技术可行 性、法律可行性和抉择。 4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计 方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。 6.__数据流图________和__数据字典___共同构成系统的逻辑模型。 7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。 8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。 9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估 计三种类型。 二、单项选择题(每小题2分,共10分) 1.下列哪个阶段不属于软件生存周期的三大阶段( C )。 A、计划阶段 B、开发阶段 C、编码阶段 D、维护阶段 2.需求分析是(A )。 A、软件开发工作的基础 B、软件生存周期的开始 C、由系统分析员单独完成的 D、由用户自己单独完成的 3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。 A、明确的需求定义 B、完整的生命周期 C、较长的开发时间 D、熟练的开发人员 4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归 测试过程称为( A )。
软件工程导论》期末考试试题与答案
《软件工程导论》期末考试-试题与答案 一、填空题 1.软件工程中的结构化分析 SA 是一种面向________的分析方法。 2.软件模块独立性的两个定性度量标准是_________________。 3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。 4. ________和数据字典共同构成了系统的逻辑模型 5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。二、单选 题 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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构 7.软件测试时为了________而执行程序的过程。A.纠正 错误B.发现错误 C.避免错误 D.证明错误 8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。A.总体 设计B.需求分析C.详细设计D.程序设计 9.面向对象分析是对系统进行_________的一种方法。A.需求 分析B.程序设计C.设计评审D.测试验收 10.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而 且影响软件的_______。A.可理解 性B.可维护性C.可扩展性D.可 移植
《软件工程》期末考试题及答案++精华版!!
《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.
3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A
最新软件工程期末考试题
41.软件是一种产品。 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.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的。 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.输入的信息B.用户使用界面C.软件做什么√D.软件的规模 16.需求分析阶段研究的对象是。 A.软硬件要求B.系统要求C.分析员要求D.用户需求√ 17.系统流程图用于可行性分析中的的描述。 A.目标系统B.当前逻辑模型C.当前运行系统√D.新系统 18.数据字典是用来定义中的各个成分的具体含义的。
软件工程期末考试复习题及答案
(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()
A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()
软件工程-期末考试大题考试题型
销售店员结算一件商品系统的描述如下:顾客到柜台前结算,店员使用UPC 读卡器读取商品名称和价格,管理员可以对固定种类商品18(18 岁以下禁止)结算,库存店员通过UPC 读卡器管理库存。 2020-12-12
【关键字】方案、情况、方法、条件、文件、问题、系统、良好、保持、位置、需要、结构、满足、管理、实现 学校有多个系,每个系有多个老师,一个老师可以讲多门课,一门课也可以有多个老师来讲,一个学生只能在一个学校上课,一个学校至少有一名学生,每个学生可以选多门课。类图示例见图6:
16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程: (1)流程图;(2)N-S图;(3) PDL语言。 17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理; (1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理; (2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户; (3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。 绘制该系统的数据流图和软件结构图。 27.如图显示某程序的逻辑结构。 试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。 覆盖种类需满足的条件测试数据期望结果 判定覆盖A>1,B=0 A=2,B=0 执行S1 A>1,B10或A≤1,B=0或A≤1,B10 A=2,B=1或 A=1,B=0或 A=1,B=1 执行S2 条件覆盖以下四种情况各出现一次 A>1 B=0 A=2,B=0 执行S1 A≤1 B10 A=1,B=1 执行S2 条件组合覆盖A>1,B=0 A=2,B=0 执行S1 A>1,B10 A=2,B=1 执行S2 A≤1,B=0 A=1,B=0 执行S2 A≤1,B10 A=1,B=1 执行S2 Y N N
软件工程导论期末试题
软件工程导论期末考试试题 一.选择(20分) 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、需求分析、功能定义、系统设计 二.填空(20分) 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的(信息流动)情况。 22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和(宽度优先策略) 。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图 来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。 25.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。 28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向 维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选 择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.判断(10分)
软件工程期末试题及答案(六)
软件工程期末试题及答案(六) 选择题 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.下列几种逻辑覆盖标准中,查错能力最强的是()。 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.软件调试的目的是() A)找出错误所在并改正之B)排除存在错误的可能性 C)对错误性质进行分类D)统计出错的次数