1.下面(C)不是软件健壮性度量指标。
A.失败后重启所需要的时间 B.引起失败的时间所占用的百分比
C.失败前的平均工作时间 D.在一次失败中数据恶化的概率
2.软件生产的成败更多的取决于(B)。
A.领导者的指挥才能 B.合理的组织与协调
C.程序员个人的编程能力 D.用户的配合
3.软件生产过程中,功能设计与物理设计信息由(B)给出。
A.软件维护人员 B.软件分析设计人员 c程序员 4.软件开发管理问题,核心是(C)。
A.费用 B.进度
C.质量 D.资源利用
5.下面(D)不是DFD图的基本成份。(DFD图是数据流图)
A.外部实体 B.信息处理
1 / 14
d用户
C.信息存储 D.系统状态
6.结构化程序设计主要强调程序的(C)。
A.效率 B.质量
C.可读性 D.大小
7.(多选题)关于模块化叙述,正确的是(BCD).
A.程序设计比较方便,但难以维护 B.便于多人分工编制大型程序
C.软件的功能便于扩充 D.程序易理解,也便于排错
E.在内存能容纳前提下,使模块尽量大,减少模块个数
F.模块越小,模块化的优点越明显
8.下面(A)不是单元测试常采用的方法。
A.随机测试 B.静态测试
C.动态测试 D.复审
9.(B)是软件检测中最后的,最完整的测试。
2 / 14
A.集成 B.验收测试 C.有效性测试 D.系统测试
10.系统测试任务中,系统级的功能验证由(D)进行。
A.软件设计人员和用户制定验收测试计划下 B.软件设计人员和用户
C.用户制定验收计划 D.软件设计人员和管理人员共同研究
11.下面(C)中,测试程序的设计者必须接触到源程序。
Ⅰ功能测试 Ⅱ结构测试 A.均不须 B.只有Ⅰ D.Ⅰ和Ⅱ
12.The type of testing done during software implementation(执行)
and before module(模块) integration(集成,综合) is called (A).
A.unit testing B.system testing
C.acceptance(接受,承认) testing D.other
13.The white-box is mainly used to test software's (D).
A.reasonableness(合理的) of structure B.correctness(正确性)program
3 / 14
有Ⅱof a
C.external(外部的) function of a program D.internal(内部的) logic(逻辑) of a program
14.(多选题)下列叙述中,正确的是(ABDFGI)。
A.在进行需求分析时需同时考虑维护问题 B.尽可能在软件生产过程中保证各阶段文档的正确性
C.编码是尽可能使用全局变量
D.选择时间效率和空间效率尽可能高的算法
E.尽可能使用硬件的特点 F.使程序具有较好的层次结构
G.使用维护工具或支撑 H.加法模块间了解 I.尽可能使用高级语音编程
J.尽量增加维护人员数目
15.(1)软件从一个计算机系统或环境转换到另一个计算机或环境的容易程序。(D可移植性)
(2)软件在需要它投入使用时能实现其指定功能的概(E可用性)
(3)软件使不同的系统约束条件和用户需求得到满足的容易程度。(F兼容性)
4 / 14
(4)在规定条件下和规定期间,实现指定功能的概率。(C可靠性)
(5)尽管有非法输入,软件还有继续正常工作的能力。(G坚固性)
A.可测试性 B.可理解性 H.可修改性 I.可接近性 J.一致性
16.逆向工程在软件工程里主要用于(A)。
A.分析 B.设计 C.编码 D.维护
17.数据字典所定义的对象都包含于(B)。
A.程序框图 B.数据流图 C.软件结构 D.都不对
18.软件设计中,设计复审的主要目的是(B)。
A.减少测试 B.避免后期付出高代价 C.保证软件质量 D.缩短软件开发周期
19.软件危机中,相对次要的问题是(C)。
A.软件功能 B.文档质量 C.软件性能 D.开发效率
20.(多选题)下面(BD)是软件可维护性的度量。
A.可测试性 B.可理解性 C.可修改性 D.可复用性
5 / 14
21.大型软件开发中,(C)起着最为关键的作用。
A.程序员 B.用户 C.项目负责人 D.测试人员
22.结构化程序设计主要强调程序的(C)。
A.效率 B.进度 C.可读性 D.大小
23.DFD图不反映出系统(B)。
A.做什么 B.功能如何实现 C.由谁来做 D.实现的约束条件
二、填空题
1.测试人员通过直觉和经验判定程序中可能出现的问题有针对性编写检查这些错误的例子属于(错误推测法)。
2.软件测试的目的(是在软件投入运行之前,尽可能多的发现软件的错误);
软件调试的目的(解决错误,改正错误)。
3.若有一个程序,输入量x,其范围-1.0≤x≤1.0。现选择的测试用例为-1.0001,-1.0,1.0,1.0001。
这种测试方法称为(边界值分析法)。
6 / 14
4.可用于详细设计的工具有(流程图),(盒图),(程序设计语言)等。
5.软件总体设计主要是建立(系统结构图/模块结构图)。
6.Jackson方法是一种面向数据结构的设计方法,可将数据结构定义为(顺序结构)、(选择结构)
和(重复结构)三种基本结构。
7.CASE是(计算机辅助软件工程)。
8.面向数据流的设计方法中,把数据流图中的数据流划分为(数据流分析)和(事务分析)。
9.软件危机出现于(20世纪60年代)年代。
10.软件工程环境一般具有(软件信息数据库、交互式的人-机界面、语言工具、质量保证工具、
需求分析及设计工具、
配置管理工具)构成元素。
11.CMM指(软件能力成熟度模型)。
12.SCI含义(软件配置项)。
7 / 14
13.软件开发成本估算方法有(自顶向下估算方法)、(自底向上估算方法)和(差别估算方法)。
14.软件概要设计的主要任务是(确定设计方案和软件结构设计)。
15.结构化程序方法是使用(自顶向下,逐步求精的方法)构造程序。
17.模块的耦合最强的是(内容耦合)最弱的是(数据耦合)。
18.模块的内聚最强的是(功能内聚)最弱的是(偶然内聚)。
19.开发软件所需的高成本和低质量之间的矛盾现象称为(软件危机)。
20.CASE工具的平台集成指工具运行在相同的(硬件)平台上。
21.在SD结构化设计方法中全面指导划分的最重要原则是(模块的独立性)
22.结构化程序设计的基本要素:(自顶向下)(逐步求精)(单入口单出口)
23.概要设计的主要任务是(确定设计方案和软件结构设计)
24.决定软件可维护性的因素(可理解性)(可测试性)(可修改性)
25.软件维护分为(完善性维护50%)(改正性维护)(适应性维护)(预防性维护)
26.面向对象软件的特点(继承)(封装)(多态)
8 / 14
27.黑盒测试的方法有(等价类划分法)(边界值分析法)(错误推测法)(因果分析法)
28.白合测试的方法有(逻辑覆盖法)(路径覆盖法)
29.需求分析的工具有实体了解图 数据流图 数据字典 层次图 warniet图 ipo图
30.数据流图的构成要素:正方形表示数据的源或终点2圆角正方形或圆形表示数据处理3数据存储4数据流
31.程序流程图的构成要素:椭圆起始\\结束(矩形处理)(棱形判断)(平行四边形输入\\输出处理)(预定义处理)(控制流)
32.软件生存周期计算机系统工程,需求分析,设计,编码,测试,运行和维护
33.软件质量的特征1功能性2可靠性3易使用性4效率5可维护性6可移植性
三、名词解释
1信息隐藏:是指模块中所包含的信息(包括数据和过程)对不需要这些信息的其他模块是不可访问的。
2 模块独立性:是模块化,抽象和信息隐藏的直接产物,其基本含义是每一个模块只完成功能需求中的一个特定的子功能,而且从程序结构的其他部分来访问这一模块只具有一个简单的接口。
关系:信息隐藏是模块化的重要指导原则,采用该原则来指导模块划分,不仅可以支
9 / 14
持模块的并行开发,而且可以减少测试和后期维护的工作量。
3 集成测试:也称为综合测试,不是根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统接口以及集成后的功能进行正确校验的测试工作。
4 多态:是指同一个操作作用于不同对象上可以有不同的解释,并产生不同的执行结果。
5 CASE:即计算机辅助软件工程。它是一种工具和方法的集合,可以辅助软件开发生存周期各个阶段进行软件开发。
6 UML:是一种标准的图形化(即可视化)建模语言,它用若干个视图构造系统的模型,每个视图描述系统的一个方面。
7 封装:所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。
8 软件危机:是指在软件的质量,进度满足不了用户的需求,并且开发软件的费用与维护的费用过大的现象就是软件危机。
9 软件逆向工程:软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序表示的过程。
10.在工程:利用现有的软件中的信息去改变或重建现存的系统尽最大努力来提高他们的质量
10 调试:在程序编好之后,用各种手段进行查错和排错的过程。
10 / 14
11.SCI是软件配置项的简称
12.CMM是软件能力成熟度模
13.模块化把系统分割成能独立完成独立功能的模块,明确规定模块及其输入与输出规格,使模块的界面不会产生任何混乱。
14.模块是能够单独命名,由边界元素限定的程序元素序列
15.耦合是指软件结构中模块之间互相依赖的程度。
16.内聚是指一个模块内各个元素彼此结合的紧密程度。
17.模块的扇入是指共有多少其他模块调用本模块。模块的扇出本模块直接调用了多少其他的模块。
18.重载 是同一作用域内的若干个参数特征不同的函数可以使用相同的函数名
19,软件维护 是在软件运行\\维护阶段对对软件产品进行的修改
20.可维护性 是指软件被理解,改正,调整,和改进的难易程度
21.软件的副作用 是由于修改而导致的错误或其他多余动作的发生
22.关键过程域 是指互相关联的若干软件实践活动和有关基础设施的一个集合
11 / 14
简答题
1.文档在软件工程中的重要性?
答:文档也是软件产品的一部分,没有文档的软件就不成为软件 ,软件文档的编制在软降开发过程中占有突出的地位和相当大的工作量,
高质量的文档对于转让,变更,修改,扩充,和使用文档,更好的发挥软件产品的效益有着重要的意义。
2.简述提高可维护性的方法?答:更正性维护 适应性维护 完善性维护
3.软件测试的目标?答:软件测试的目的就在于在软件投入运行之前尽可能多的发现软件中的错误。
4.黑盒测试与白盒测试的区别?答黑盒测试是以用户的观点从输入数据与输出数据的对应关系出发进行测试,他不涉及程序的内部结构
白盒测试是基于产品的内部结构进行测试,检查内部操作是否按规定进行
5.软件复用是啥呢?复用的过程?
答:SOFtware reuse是指通过对已有软件的各种有关知识来建立新的软件,这些知识包括:领域知识,开发经验,设计经验,设计决定,体系结构,需求
设计,编码,测试,和文档等。
12 / 14
软件复用的目的是:降低软件开发和维护的成本,提高软件的开发效率,提高软件的质量。
软件复用过程:抽象,选取,特化,集成。
6.瀑布型软件开发的步骤?答:计划时期(问题定义和可行性研究) 开发时期(需求分析和概要设计和详细设计和编码和测试)
运行和维护时期(运行和维护)
需求分析的任务?答:软件开发人员和用户一起完全弄清楚用户对系统的确切要求
7.为啥要强调编码的风格?大型软件测试的步骤?
答:在程序设计中要是程序结构合理,清晰,形成良好的编程习惯对程序的要求不仅可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护
这要求编写的程序不仅自己可以看懂,而且也要让别人看懂,随着计算机技术的发展,软件的规模增大了,软件的复杂性也增强了,为了提高程序的可阅读性,
建立良好的编程风格,
软件测试的步骤:单元测试 集成测试 确认测试 系统测试 验收测试
8.软件项目管理的特点?软件维护的副作用?
13 / 14
答软件产品和其他产业的产品不同,他是无形的,完全没有物理属性2在开发过程中程序与其相关的文档常常需要修改3文档编制的工作量在整个项目研制过程中
占很大比重4人员的流动对工作的影响很大。
答:软件维护的副作用有修改代码副作用和修改数据副作用和修改文档副作用
软件项目管理的困难1智力密集可见性差2单间生产3劳动密集4使用方法繁琐,维护困难5软件工作渗透了人得因素
9.面向对象设计的原则?答:可复用性 可扩展性 健壮性 协作性
10.软件项目管理的目的是为了按照指定的时间和费用没成功地完成软间的计划,开发和维护任务
11.模块设计原则?尽量提高模块独立性,注意模块的可靠性,通用性可维护性和简单性,模块应该大小中,模块的深度宽度扇入与扇出要适当,模块接口要简单清晰。
12.面向对象方法的主要优点1.与人类习惯的思维方法一致2稳定性好3可重用性好4较易开发大型软件产品5可维护性好
13.面向对象设计的准则?模块化,抽象,信息隐藏,高内聚低耦合
友情提示:部分文档来自网络整理,供您参考!文档可复制、编制,期待您的好评与关注!
14 / 14
因篇幅问题不能全部显示,请点此查看更多更全内容