复习题
填空题
在信息处理和计算机领域内,一般认为软件是 _程序_____文档____ _数据____
数据流图的基本组成部分有 _数据的源点与终点__ 数据流_ 加工__ 数据文件。
数据流图和数据字典共同构成了系统的 _逻辑____模型,是需求规格说明书的主要组成部分。
划分模块时尽量做到__高内聚、低耦合___持模块的独立性,尽量使用公共模块。
类的实例化是_对象_______
人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是_成功地运行的概率________平均故障时间_______
将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为_自底向上_______
如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 ____N_______ 个。
结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结构。
软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)3项活动。
软件著作权登记的3种主要类型:1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。面向对象分析的目的是对客观世界的系统进行 ___建模_____
软件维护工作的生产性活动包括分析评价、修改设计和 ____编写程序代码______ 等。
为了使应用软件适应计算机环境的变化而 ___修改软件____ 的过程称为适应性维护。
一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________顺序内聚________
投资回收期就是使累计的经济效益等于 __最初的投资费用__________ 所需的时间。
软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。
曾被誉为“程序设计方法的革命”的  结构化  程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。
从结构化程序设计到 面向对象程序设计 ,是程序设计方法的又一次飞跃。
在单元测试时,需要为被测模块设计___测试用例_______
简答题
1.软件工程的七条基本原理是什么?
:软件工程的七条基本原理是:
用分阶段的是的生存周期计划严格管理;
坚持进行阶段评审;
严格实施的产品控制;
采用现代程序技术;
结果应能清楚地审查;
开发小组的成员应该少而精;
承认不断改进软件工程的必要性。
2.良好的编码风格应具备哪些条件?
:应具备以下条件:
1)使用标准的控制结构;
2)有限制地使用GOTO语句;
3)源程序的文档化 (应具备以下内容)
①有意义的变量名称 —— “匈牙利命名规则 ”。
软件测试的方法有哪些②适当的注释 ——“注释规范”。
③标准的书写格式:
——用分层缩进的写法显示嵌套结构的层次(锯齿形风格);
——在注释段的周围加上边框;
——在注释段与程序段、以及不同程序段之间插入空行;
——每行只写一条语句;
——书写表达式时,适当使用空格或圆括号等作隔离符。
4)满足运行工程学的输入输出风格。
3.简述文档在软件工程中的作用。
答:
(1) 提高软件开发过程的能见度
(2) 提高开发效率
(3) 作为开发人员阶段工作成果和结束标志
(4) 记录开发过程的有关信息便于使用与维护;
(5) 提供软件运行、维护和培训有关资料;
(6) 便于用户了解软件功能、性能。
4.可行性研究包括哪几方面的内容? 
答: (1)经济可行性:是否有经济效益,多长时间可以收回成本; 
 (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;
 (3)运行可行性:系统操作在用户内部行得通吗?
 (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。
5.结构化的需求分析描述工具有哪些?
答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体关系图(E—R)等。
6.一般面向对象分析建模的工具(图形)有哪些?
    答:用例图、类/对象图、对象关系图、实体关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等
7.UML统一建模语言有哪几种图形?
用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。
8.在面向对象分析时类和对象的静态关系主要有哪几种?
答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。
9. 什么是模块化?模块设计的准则?
  模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
  模块设计的准则:
  (1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
  (2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
  (3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。
  (4) 尽量降低模块接口的复杂程度;
  (5) 设计单入口、单出口的模块。
  (6) 模块的作用域应在控制域之内。
10.什么是模块独立性?用什么度量?
答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。
11. 变换型数据流由哪几部分组成?
  变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。
12. 变换分析设计的步骤?
  (1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;
  (2) 完成第一级分解:建立初始SC图的框架;
  (3) 完成第二级分解:分解SC图的各个分支;
  (4) 对初始结构图按照设计准则进行精化与改进。
13. 事务型数据流由哪几部分组成?
  事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。
14. 事务分析设计的步骤?
  (1) DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);
  (2) 画出SC图框架,DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);
  (3) 分解和细化接收分支和动作分支,完成初始的SC;
  (4) 对初始结构图按照设计准则进行精化与改进。
15.数据字典包括哪些内容?
数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。
16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:
  (1)流程图;(2)N-S图;(3) PDL语言。
18.什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为
较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。
19.详细设计的目的?
为软件结构图(SC图或HC)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.
20.详细设计的任务是什么?
为每个模块确定采用的算法;
确定每一模块使用的数据结构;
确定模块接口的细节;
编写过程设计说明书;
设计每一模块的测试用例。
21.    编码的任务?
使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)
22.软件测试的基本任务?
软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;
23.什么是黑盒测试?黑盒测试主要采用的技术有哪些?
黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。
  24.什么是白盒测试?白盒测试主要采用的技术有哪些?
白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。
白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。
  25.路径测试技术中几种主要覆盖的含义?举例说明?
语句覆盖:至少执行程序中所有语句一次。 
判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。
条件覆盖:执行所有可能的穿过程序的控制路流程。
条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。
(例略)
  26.等价分类法的测试技术采用的一般方法?举例说明?
(1)  为每个等价类编号;
(2)  设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。
(3)  设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。
(例略)
27.如图显示某程序的逻辑结构。
  试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。