资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件开发技术 复 习 题 一、填空及简述: 1、软件、工程、软件工程及其三要素? P1-3 答:计算机系统中的程序及其文档称为软件。 工程是将科学论理和知识应用于实践的科学。 软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。 软件工程的三要素是指目标、原则、活动 软件工程的目标可概括为“生产具有正确性、可用性以及开销合宜的产品”。 四条基本原则选取适宜的开发模型 采用合适的设计方法 提供高质量的工程支持 重视开发过程的管理 软件工程的活动包括 需求、设计、实现、确认和支持。 2、软件开发模型的种类、适用情况、缺点? P5-10 答:瀑布模型在支持结构化软件开发、控制软件开发的复杂性、促进软件开发工程化等方面起着显著作用。最为突出的缺点是该模型缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求,可能导致开发出的软件并不是用户真正需要的软件,无疑要进行返工或不得不在维护中纠正需求的偏差,为此必须付出高额的代价,为软件开发带来不必要的损失。 演化模型针对事先不能完整定义需求的软件开发。但忽略风险分析。 螺旋模型适合于大型软件的开发。使用时需要具有相当丰富的风险评估经验和专门知识,如果项目风险较大,又未能及时发现,势必造成重大损失。 喷泉模型主要用于支持面向对象开发过程。软件刻画活动需要多次重复。 增量模型广泛地使用开计算机工业中。需不断地进行系统的增量开发。 3、设计的分类? P43 答:软件设计可采用多种方法,如结构化设计方法、面向数据结构的设计方法、面向对象的设计方法等。 4、结构化设计方法的分类及功能? P43、P65 答:结构化设计方法分为总体设计。其功能是设计被建系统的模块结构,即系统实现据需要的软件模块-系统中可标识软件成分,以及这些模块之间的调用关系。 详细设计。这个阶段的功能是确定怎样具体地实现所需求的系统,即应该得出对目标系统的精确描述,从而在编码阶段可以将这个描述直接翻译成用某种程序设计语言书写的程序,基本上决定了最终的程序代码的质量。 5、模块及其独立性和相关内容? P56 答:模块是执行一个特殊任务或实现一个特殊的抽象数据类型的一组例程和数据结构。 模块由两部分组成一部分是接口,列出可由其他模块或例程访问的对象,如常量、变量、数据类型、函数等;另一部分是实现模块功能的执行机制,包括私有量(只能由本模块自己使用的)及实现模块功能的过程描述或源程序代码。 6、评价软件设计的基本准则及其相关内容? P56-60 答:基本准则是“高内聚”、“低耦合”。 耦合是对不同模块之间相互依赖程度的度量。 紧密耦合是指两个模块之间存在着很强的依赖关系;松散耦合是指两个模块之间存在一些依赖关系,但它们之间的连接比较弱;无耦合是指模块之间根本没有任何连接。 耦合的强度依赖于以下几个因素一个模块对另一个模块的引用 一个模块向另一个模块传递的数据量 一个模块施加到另一个模块的控制的数量 模块之间接口的复杂程度 耦合的类型(从强到弱)内容耦合 公共耦合 控制耦合 标记耦合 数据耦合 内聚度量的是一个模块内部各成分之间相互关联的强度。一个模块内聚程度越高, 该模块的内部各成分之间以及同模块所完成的功能之间的关联也就越强。 内聚的类型(从低到高) 偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚 7、软件测试及技术分类? P154-155 答:软件测试可定义为按照特定规程,发现软件错误的过程。 IEEE定义为使用人工或自动手段,运行或测定某个系统的过程,其目的是检验它是否满足规定的需求,或是清楚了解预期结果与实际结果之间的差异。 软件测试技术分为两大类一类是白盒测试技术,依据的是程序的逻辑结构,典型的是路径测试技术;另一类是黑盒测试技术,又称为功能测试技术,依据的是软件行为的描述,包括事务处理流程技术、状态测试技术、定义域测试技术等。 8、CMM的成熟度等级和内部结构? P212 图7。3、P214-219 图7。4 图7。5 答:CMM的成熟度等级为分五级 初始级1级 可重复级2级 已定义级3级 已管理级4级 持续优化级5级 CMM的每个等级是通过三个层次加以定义的,分别是关键过程域、关键实践类和关键实践。每个关键过程又按四个关键实践类加以组织制定方针政策、确保必备条件、实施软件过程和检查实施情况 9、模块作用域和控制域的含义、关系及改进? P61 答:模块的作用域定义为受该模块内一个判定影响的所有模块的集合。 模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。 模块的作用域应该在控制域之内 图4。25例 改进方法一个方法是把做判定的点往上移;另一个方法是把那些在作用域内但不在控制域内的模块移到控制域内。 10、详细设计的工具及其优缺点? P67-70 答:程序流程图,又称程序框图。主要优点是对控制流程的描绘很直观,便于初学者掌握。 主要缺点有程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构 程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制 程序流程图不易表示数据结构 盒图(N-S图)。同程序流程图相比,它以一种结构化的方式严格地限制从一个处理到另一个处理的控制转移。 PAD问题分析图。主要优点有使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序 PAD图所描述的程序结构十分清晰 用PAD图表现程序逻辑,易读、易懂、易记 很容易将PAD图转换成高级语言源程序 既可用于表示程序逻辑,也可用于描述数据结构 PAD图的符号支持自顶向下、逐步求精方法的使用 类程序设计语言PDL。也称为伪码。优点有可以作为注释直接插在源程序中间 可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作 已经有自动处理程序存在,而且可以自动由PDL生成程序代码。 缺点是不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表或判定树清晰简单 11、DFD模型平衡规则? P27-28 答:数据流图中所有的图形元素必须根据它们的用法规则正确使用 每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义 数据字典中的定义使用合法的逻辑构造符号 数据流图中最底层的加工必须在小说明中有定义 父图和子图必须平衡,即父图中某加工的输入输出和分解这个加工的子图的输入输出必须完全一致,这种一致性不一定要求数据流的名称和个数一一对应,但它们在数据字典中的定义必须一致,数据流或数据项既不能多也不能少 小说明和数据流图的图形表示必须一致。 12、数据流图DFD转换为模块结构图MSD的步骤? P51-56 答:复查基本系统模型 复查并精化数据流图 确定输入、变换、输出这三部分之间的边界 “第一级分解”系统模块结构图顶层和第一层的设计 “第二级分解”自顶向下,逐步求精 使用设计度量和启发式规则,对初始的模块结构图进行精化 13、路径测试策略的分类? P157-158 答:路径测试执行所有可能的穿过程序的控制流程路径 语句测试(P1)至少执行程序中所有语句一次品 分支测试(P2)至少执行程序中每一分支一次 条件组合测试设计足够的测试用例,使每个判定中的所有可能的条件取值组合至少执行一次 14、数据流图、程序框图、控制流程图的区别? P20、P67、P156 答:数据流图由四个基本部分组成加工(用圆圈表示) 数据流(用箭头表示) 数据存储(用两条平行线表示) 数据源和数据潭(用矩形表示) 程序框图又称程序流程图,使用的主要符号有顺序结构、选择结构、循环结构及一些等价符号。 与数据流图不同的是,程序框图中的箭头代表的控制流而不是数据流。 控制流程图是程序控制结构的图形表示,其基本要素是过程块、结点、判定。 与程序框图不同的是,控制流程图中不显示过程块的细节,而在程序流程图中,着重于过程属性的描述。 15、黑盒法(功能测试技术)的种类? P165-167 答:等价类划分方法是把所有可能的输入数据即程序的输入域分成若干部分(即若干等价类),然后从每一部分中选取数据作为测试用例。 边界值分析方法测试工作经验表明,大量的错误经常发生在输入或输出范围的边界上。在设计测试用例时,选择一些边界值进行测试,这就是边界值分析测试技术的主要思想。 因果图方法通过为判定表的每一列设计一个测试用例,从而实现测试用例的设计与选择。1在详细设计阶段所使用到的设计工具是( ):A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。C) 判定表,判定树,数据流程图,系统流程图,程序流程图,PAD图,N-S图。D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。2、按照软件工程的原则,模块的作用域和模块的控制域之间的关系是( ):A) 模块的作用域应在模块的控制域之内。B) 模块的控制域应在模块的作用域之内。C) 模块的控制域与模块的作用域互相独立。3、 包含所有可能情况的测试称为穷尽测试。下
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号