现代软件工程--拓展补充
现代软件工程--拓展补充
-
瀑布模型将软件生命周期划分为软件计划、需求分析、设计、实现、测试、运行和维护等阶段。
-
UML是软件开发中的一个重要工具,它主要应用于基于对象的面向对象的方法
-
软件工程的基本目标是开发足够好的软件
-
结构化程序设计主要强调的是程序易读性
-
软件工程”术语是在1968年NATO会议 被首次提出
-
产生软件危机的原因主要与软件产品本身的特点,开发和维护过程中用的方法不正确两个方面的问题有关
-
软件工程的出现主要是由于软件危机的出现
-
软件工程的基本要素包括方法、工具和过程
-
为了解决软件危机,人们提出了用 工程学的原理来设计软件
-
软件质量是在开发过程中逐渐构建起来的。
-
敏捷方法尤其适合于开发团队比较小、需求变化大或者开发前期对需求不是很清晰的项目
-
敏捷方法的思想是适应性,而不是预设性,敏捷方法以原型开发思想为基础,采用迭代式增量开发
-
- (单选题)在每日站立会议上,下面(C)不是每个团队成员需要回答的主要问题。
-
A.
从上次Scrum站立会议后你做了什么?
-
B.
你遇到哪些障碍或困难?
-
C.
你所遇到问题的原因是什么?
-
D.
你打算到下次Scrum站立会议完成什么?
-
软件开发瀑布模型中的软件定义时期各个阶段依次是问题定义,可行性研究,需求分析
-
“客户不太清楚待开发的系统需要提供什么服务”---原型模型
-
“开发团队了解待开发软件的相关领域知识,尽管此系统庞大,但其较已经开发的系统差异并不大。”--瀑布模型
-
“软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。”--瀑布模型
-
“开发一个已发布软件的新版本,公司规定了严格的完成期限,并对外公布。”----增量模型
-
“一个位于火车站的交互式火车车次查询系统”--原型模型
-
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法
-
数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是 数据定义
-
结构分析方法就是面向数据流的自顶向下逐步求精进行需求分析的方法。
-
一般说来,验证软件需求应考虑的因素有一致性、完整性、现实性和有效性;
-
数据字典是用来定义数据流图中的各个成份的具体含义的
-
进行需求分析可使用多种工具,但N-S图是不适用的
-
软件需求分析是保证软件质量的重要步骤,它的实施应该是在软件定义阶段
-
需求规格说明书的作用不应该包括软件可行性研究的依据、
-
软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及 需求分析评审
-
在数据字典中,加工条目主要包含(1)加工名及别名;(2)加工功能的简要描述;(3)输入、输出数据流;(4)加工逻辑。
-
数据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述。
作用:
1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述。
2)为分析人员查找数据流图中有关名字的详细定义而服务的。
3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。
条目:数据流、数据项、数据存储、基本加工。
-
结构化需求分析过程应建立哪3种模型,可以采用什么图形工具进行描述?
(1)功能模型,采用DFD;(2)数据模型,采用ER图;(3)行为模型,采用状态转换图。
-
通过用例分析获取用户的需求,这种方法是否有缺陷?还有什么地方需要改进?
有缺陷。用例只能反映系统的功能需求,不能反映系统的非功能需求。采用自然语言描述的文本格式的需求规格说明补充说明,加以弥补。
-
什么是模块独立性?模块独立有何优点?
模块的独立性是模块化、信息隐藏和局部化等概念的直接结果,它指在软件中各模块之间相互依赖的程度。
模块独立的优点:系统容易开发,系统可靠性高,系统易于维护
-
软件设计阶段的主要任务包括软件的结构设计,数据设计,接口设计和过程设计。
-
面向数据流的软件设计方法,一般是把数据流图中数据流划分为交换流和事务流,再将数据流图映射为软件结构
-
软件结构图的形态特征能反映程序重用率的是扇入
-
软件结构是在总体设计阶段设计的
-
SD方法是面向数据流其中全面指导模块划分的最重要的原则是模块独立性
-
软件设计阶段分为 结构设计和模块过程设计
-
在软件结构图中,其模块的层次数称为结构图的深度
-
两个模块之间的偶合方式中 控制偶合的偶合程度最高。
-
评价系统模块划分的质量是根据模块独立性
-
在详细设计阶段所使用到的设计工具是程序流程图,PAD图,N-S图,判定表,判定树
-
DFD图(数据流程图)工具在软件详细设计过程中不采用
-
结构化程序设计中三种最基本的控制结构是顺序、选择和重复。共同特点是只有一个入口和一个出口
-
软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立软件过程
-
PDL是伪码式语言
-
程序流程图中的“→”代表控制流
-
详细设计的基本任务是确定每个模块的算法
-
编码的依据是详细设计说明书。
-
为了提高测试的效率,应该选择发现错误可能性大的数据作为测试数据
-
白盒测试主要用于测试程序内部逻辑
-
使用白盒测试方法时,确定测试数据应根据 程序的内部逻辑和指定的覆盖标准
-
在下列测试技术中,(D )不属于黑盒测试技术
A. 等价划分
B. 边界值分析
C. 错误推测
D. 逻辑覆盖 -
在软件正式发布前,用户在开发方的指导下对软件进行的测试称为Alpha测试
-
在软件正式发布前,用户在非开发方的场所自由对软件进行的测试称为Beta测试
-
软件测试方法中的静态测试方法之一为计算机辅助静态分析
-
设计测试数据无关的文档是项目开发计划
-
下面几种白箱测试技术,哪种是最强的覆盖准则( D)
- A. 语句覆盖
- B. 条件覆盖
- C. 判定覆盖
- D. 条件组合覆盖
-
确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于验收测试
-
软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们都属于动态测试
-
制定进度计划的重要工具和方法是工程网络图
-
在软件特性中,程序能够满足规格说明书和用户目标的程度,称为正确性
-
在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的健壮性
-
软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为可靠性
-
功能点估算技术需要以 信息域值为基础进行问题分解。
-
软件风险总是包括不确定和损失两个特性。