《软件工程导论复习要点总结.docx》由会员分享,可在线阅读,更多相关《软件工程导论复习要点总结.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程一、名词解释与问答1、SA 构造化分析措施2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一种输入数据和一种输出数据流,反应出此加 工数据日勺来源与加工日勺成果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层 图为子类;父图与子图的平衡:子图的输入输出数据流同父类对应的输入输出数 据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几种活动?一种软件从提出开发规定开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计, 编码,测试,维护。4、什么是数据流图?作用是什么?
2、其中日勺基本符号表达什么含义? 以图日勺方式描述数据在系统中流动和处理的过程,只反应系统必须完 毕欧I逻辑功能,是一种功能模型。逐渐把和实既有关欧I细节加进模型中,直至最终用程序实现模型;第四章:总体设计填空题1 .在软件概要设计阶段,建立软件构造后,还应当为每个模块写 一份处理阐明和(接口阐明)2 .两个模块都使用同一张表,模块的这种耦合称为(公共耦合)3 . 一种模块内部各程序段都在同一张表上操作,这个模块的内聚性称为(通信内聚)4 .软件构造是以(模块)为基础而构成的一种控制层次构造5 .反应软件构造的基本形态特性是( 深度,宽度,扇 入, 扇出)6 . 一种模块把数值作为参数传送给另一
3、种模块,这种耦合方式称为(数据耦合)7 .两个模块通过全程变量互相作用,这种耦合方式称为(公共耦合 )8 . 一种模块的作用范围指(受该模块内一种鉴定影响的所有模 块)的集合9 . 一种模块的控制范围指(模块自身以和其所有附属模块 ) 的集合11.为了防止软件概要设计的错误传播到开发后续阶段,在概要设计 文档完毕后来,要进行(软件评审)5 .耦合性:耦合是指一种模块与其他模块之间的联络,又称为块间 联络,是模块之间相对独立性的度量;6 .内聚性:内聚是指模块内部各个成分之间的关系,又称为块内联 络,是模块功能相对强度的度量;7 .模块区I控制范围:一种模块的I控制范围是指该模块自身和其所属 时
4、(直接或间接调用的)所有模块的集合;8 .模块的作用范围:受该模块内一种鉴定影响的所有模块日勺集 合;9.软件构造:软件构造图;10.模块:在软件中,一般把用一种名字就可以调用的一段程序称为 模块;3 .模块的耦合性,内聚性包括那些内容?其含义:(1)低耦合: 非直接耦合,数据耦合,标识耦合;(2)中耦合:控制耦合,外部 耦合;(3)高耦合:公共耦合,内容耦合;(4)低内聚:偶尔内聚, 逻辑内聚,时间内聚;(5)中内聚:过程内聚,通讯内聚;(6)高 内聚:次序内聚,功能内聚;4 .为了提高模块的独立性, 模块内部最佳是 ( C )A 逻辑内聚B 时间内聚 C 功能内通信内聚5.为了提高模块的独
5、立性,最佳是内容耦公共耦合D 数据耦合6.构造化设计措施在软件开发中,用于(A 测试用例设计软件概要设计程序设D软件详细设计7.划分模块时,一种模块的(作用范围应当在其控制范围之内控制范围应当在其作用范围之内C作用范围与控制范围互相不包括D作用范围与控制范围不受任何限制填空题1.构造化程序设计措施的要点是使用(三种基本控制构造), 自顶向下,逐渐求精地构造算法或程序2 .构造化分析日勺基本思想是采用(自顶向下逐渐分解)措施,能有效日勺控制系统日勺复杂性3 .当数据流图中某个加工的一组动作存在着多种条件复杂组合的判断时,其加工逻辑用(鉴定表或鉴定树)描述很好.4 .数据流图中有四种符号元素,它们
6、是(数据流,加工,数据存储,数据源点和终点)3 .在详细设计阶段,一种历史悠久,使用最广泛的描述程序逻辑构造的工具是(程序流程图 )4 .构造化程序设计技术指导人们用良好日勺思想措施开发馋易理解,轻易验证)日勺程序5 .详细描述处理过程常用日勺三种工具是图形,语言和(表6 .详细设计的目的不仅是逻辑上对的日勺实现每个模块的功能,还应当使设计出的处理过程清晰易读)7 .在详细设计阶段,除了对模块内日勺算法进行设计,还应当对模块内日勺皿据构造1进行设计2.构造化设计措施是一种面向()的设计措数据流数据构数据库程序1.构造化程序设计重要强调日勺是(程序日勺效率程序日勺执行速程序的易读性程序日勺规模2
7、.详细设计的任务是确定每个模块的(D输入输出数据3.构造化程序设计日勺一种基本措施是(A 筛选法B 递归法C 迭代法D 逐渐求精法4 .程序的三种基本控制构造是(B)A过程,子程序和分程序B次序,选择和反复C递归,堆栈和队列D调用,返回和转移5 .程序的三种基本控制构造欧I共同特点是(D)A 不能嵌套使用B只能用来写简朴程序C已经用硬件实现D只有一种入口和一种出口3 .详细设计重要使用那一种描述工具:程序流程图,盒图,PAD图, 鉴定表,鉴定树。4 .构造化程序设计:假如一种程序日勺代码块仅仅通过次序、选择和循 环这三种基本控制构造进行连接,并且每个代码块只有一种入口和一 种出口, 则称这个程
8、序时构造华时;第五章:实现1.为了提高程序的易读性,同步减少错误,提高软件开发效率,编码时注意养成良好的(程序设计风格)1 .软件测试程序不在机器上运行,而是采用人工检测和计算机辅 助分析检测的手段称(静态)测试.2 .用等价类划分法设计一种测试用例时,使其覆盖(尽量多时) 尚未被覆盖的合理等价类3 .用等价类划分法设计一种测试用例时,使其覆盖(一种 ) 不合理等价类4 .在单元测试时,需要为被测试模块设计(驱动模块与桩模 块)5 .在集成测试时有两种测试措施,它们是(渐增式和非渐增 式)6 .软件测试是为了(发现错误)而执行程序的过程7 .运行被测试程序的措施称为(动态)测试8 .动态测试中
9、,重要测试软件功能的措施称为(黑 盒)法9 .运行测试用例,使得被测试程序中每个鉴定分支至少执行一次,这种逻辑覆盖原则称为(鉴定覆盖)1 .软件测试中,白盒法是通过度析程序时(B来设计测试用例时A 应用范围B 内部逻辑 C 功能D输入数据2 .黑盒法是根据程序的(C)来设计测试用例A 应用范围B 内部逻辑C 功能 D输入数据3 . 为了提高软件测试的效率, 应当(D).A随机地选用测试数据B取一切也许的输入数据作为测试数据C在完毕编码后来制定软件的测试计划D选择发现错误也许性大的数据作为测试用例7,下列几种逻辑覆盖原则中,查错能力最强的是(D)8 .A语句覆盖B鉴定覆盖C条件覆盖D条件组合覆盖
10、9 .在黑盒测试中,着重检查输入条件组合的措施是( D)A 等价类划分法B 边界值分析法C 错误推测法因果图法10 软件测试过程中的集成测试重要是为了发现(B )阶段的错误A 需求分析 B 概要设计 C 详细设 计 D 编码11 .不属于白盒测试的技术是(D )A 途径覆盖 B 鉴定覆盖C 循环覆盖 D边界值分析 11.确认测试以(A )文挡作为测试的基础A需求规格阐明书 B设计阐明书 C源程序 D开发 计戈2 .与选择编程语言无关的原因是(C)A 软件开发的措施B 软件执行的环境C 程序设计风格D 软件开发人员的知识3 .源程序文档化规定在每个模块之前加序言性注释,该注释内容 不应当有( B
11、 )A 模块的功能B语句的功能 C模块的接口D 开发历史1.在构造化程序设计思想提出之前,程序设计中曾强调程序时效率,目前人们更重视程序日勺(A 技 巧 性B 保 密性C 一致性D 可理解性4 . 提高程序效率的主线途径并非在于(D)A 选择良好的设计措施B 选择良好的数据构造C选 择 良 好 的 算法D 对程序语句作调整5 .为了提高易读性,源程序内部应当加功能性注释,用于阐明(B)A 模块总的功能B程序段或语句的功能C模 块 参 数欧I用途D数据日勺用途1.软件维护时,对测试阶段未发现日勺错误进行测试、诊断、定位、纠错,直至修改时回归测试过程称为A oA、改正性维护B、适应性维护C、完善性
12、维护D、防止性维护三. 名词解释1. 编码:所谓编码就是把软件设计成果翻译成用某种程序设计语言书写的程序;2. 程序设计风格:所谓程序设计风格是指书写源程序日勺习惯、程 序代码的逻辑构造与习惯的编程技术。从软件工程规定出发,程序设 计风格应包括如下要素:源程序文档化数听阐明 语句构造输入输出 白盒测试技术:逻辑覆盖和基本途径覆盖 黑盒测试技术:等价类划分、边界测试、错误推测、因果图 软件测试环节:单元测试、集成测试和确认测试四.简答题1. 在项目开发时, 选择程序设计语言一般考虑那些原因:人 的思维和解题方式;人和计算机通信的方式和质量;其他人阅读和理 解程序的难易程度;2. 什么是程序设计风
13、格?应当在那些方面注意培养良好的设计风格? (1)程序内部日勺文档; (2)数听阐明; (3)语句(4 )输入输出;(5 )效率;箭头,表达数据流 数据流是数据在系统内传播的J途径,由一构成分 固定的数据项构成;圆或椭圆,表达加工对数据进行某些操作或变换,每个加工要有名字, 一般是动词短语,描述完毕的加工;双杆,表达数据存储 指临时保留的数据; 方框,数据源点或终 点 软件系统外部环境的实体,为协助理解系统接口界面引入,只 出目前顶层图中;什么是数据字典简述数据字典与数据流图的关系. 答案:数据字典是有关数据的信息欧I集合,对数据流程图中的各个元 素做完整的定义与阐明,是数据流程图的补充工具.
14、(2分)数据流图和 数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格, 然而没有数据流图数据字典也难于发挥作用.数据流图和对数据流 图中每个元素的精确定义放在一起,才能共同构成系统的规格阐 明.(3分)简 述 编 码 风 格 的I 重 要 性. 答案:阅读程序是软件开发和维护过程中的一种重要构成部分,程序 实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格, 这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可 靠而又轻易维护的程序,编码的风格在很大程度上决定着程序的质 量.简述软件测试的任务、目的与类型。第六章:维护一. 填空题1 .为了识别和纠正软件在运行中日
15、勺错误而进行的维护称为( 校正性 )维护2 .在软件维护中,因修改软件而导致出现的错误或其他状况称为(维护的副作用 )3 .维护阶段是软件生存周期中时间最长的阶段,也是花费精力和 费用( 最多)的阶段4 .在软件交付使用后,由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现,必然有一部分隐含错误带到 ( 维护)阶段5 .采用手工措施开发软件只有程序而无文挡,这是一种( 非构造化)维护6 .所有的软件维护申请汇报要按规定方式提出,该汇报也称 (软件问题)汇报二.选择题1为了增长软件功能和性能而进行日勺软件修改维护过程是( C)A 校正性维护 B 适应性维护 C 完善性维 护D防止性维护7
16、.维护中, 因修改全局或公共数据而引起日勺错误是A 文档副作用B数据副作用C 编码副作用用3.在软件生存周期中,( D )A 需求分析B试D 维护4 .软件维护困难的重要原因是(A 费用低陷 D 维护难5 .产生软件维护日勺副作用,是指(B 人员少A开发时的错误B隐含欧I错误CD设计副作时间长,困难大日勺阶段是编码C 测C )C开发措施的缺C )因修改软件而导致的错误D运行时误操作 三名词解释1 .校正性维护:满足顾客对已开发产品的性能与运行环境不停提 高的规定,进而到达延长软件寿命的目的I;2 .适应性维护:对程序有效期间发现的程序错误进行诊断和改正时 过程,配合变化了日勺环境进行修改软件的
17、活动;3 .完善性维护:满足顾客在使用过程中提出增长新的J功能或修改已 经有功能的提议而进行的工作;4 .防止性维护:为了改善未来的可维护性或可靠性而修改软件的工 作。5 .软件可维护性:维护人员理解、改正、改动或改善这个软件的难 易程度。6 .软件维护的副作用:(1)编码副作用。在使用程序设计语言修 改原代码时也许引入的错误;(2)数据副作用。在修改数据构造时, 有也许导致软件设计与数据构造不匹配,因而导致软件错误。数据副 作用是修改软件信息构造导致的错误。但它可以通过详细的设计文档 加以控制;(3)文档副作用。假如对可执行软件的修改没有反应在 文档中,就会产生文档副作用;四.问答题1.维护
18、有那些类型?其内容:(1)校正性维护;(2)适应性维护;(3)完善性维护;(4)防止性维护;答:软件测试是一种为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一种好的测试用例是指很也许找到 迄今为止尚未发现的错误的用例。一种成功的I测试是指揭示了迄今为止尚未发现的错误 的测试。软件测试重要分为白盒测试和黑盒测试两大类。可行性分析的目的和重要任务是什么?答:可行性分析的目的不是处理问题,而是确定问题与否值得去处理。 重要任务是从下面几方面研究每种解法的I可行性:技术可行性,经济 可行性,操作可行性,社会可行性,抉择可行性。需求分析的目的和重要任务是什么?答:进行需求分析是为了精确
19、地回答“系统必须做什么”这个问题, 决定可以做什么不做什么。需求分析的重要任务是描述系统的功能 需求、性能需求、数据需求、可靠性/可用性需求、出错处理需求、 接口需求、约束条件、其他需求。软件维护的目的和重要任务是什么?维护的类型有哪些?答:软件维护是软件生命周期中最终一种、持续时间最长的阶段。重要任务是在软件已经交付使用之后,为了改正错误或满足新的需 要而修改软件,目的I是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、防止性(新产品)什么是耦合?模块的耦合包括哪些类型?答:耦合是对一种软件构造内不一样模块之间互连程度日勺度量。模块的耦
20、合包括如下几种类型:数据耦合,控制耦合,特性耦合,公 共环境耦合,内容 耦合,标识耦合,无耦合/非直接耦合什么是内聚?模块的内聚包括哪些类型?答:内聚标志着一种模块内各个元素彼此结合的紧密程度,它是信息 隐蔽和局部化概念的自然扩展模块的内聚包括如下几种类型:低内聚 一偶尔内聚,逻辑内聚,时间内聚中内聚一过程内聚,通信内聚;高 内聚一次序内聚,功能内聚什么是编码风格?为何要强调编码风格?答:编码风格包括如下内容:程序内部良好的文档(注释)、数听阐 明、语句构造、输入输出和效率保障等。由于编码风格对软件的可读 性、可维护性、可靠性、可用性很重要,因此要强调编码风格。、综合应用题1、用PAD图描述下
21、面问题的I控制构造。有一种表A、A(2)A(n),按递增次序排列。给定一种Key值,在表中用折半法查找。若找到,将表位置i送入X,否则将零送到x,同步将key值插入表中。算法:置初值H=l(表头),T二N (表尾)。置i=(H+T)/2(取整) 若Key=A,贝U找到,i送到x;若KeyA(i),则Key在表的后半部 分,i+1送入H;若KeyA(i),则Key在表的前半部分,iT送入T, 反复第二步查找直到HT为止。查不届时,将A,A(N)移到A(i+1)A(N+1), Key值送入A中。四、填空题1:构造化措施是一种面向数据流的开发措施。又构造化分析、构造 化程序设计、构成2:为了减少软件
22、开发费用,缩短软件开发周期、减少软件内部潜在 的错误,可以减少程序复杂性,以提高软件日勺简朴性和可理解性O3:构造化程序设计措施是使用 三种基本控制构造构造程序。4:与编码风格有关的原因有数听阐明、语句构造、输入输出、效率 等,其中还有一种重要的J原因是源程序文档化.5:构造化程序设计措施是倡导开发人员的组织形式是主程序员组6:增量模型在开发过程中以一系列增量方式开发系统,忽视某些阶 段的I细节,从而尽早产生工作软件7:数据流图仅反应系统必须完毕的逻辑功能,因此它是一种功能模型判断题:1 .在进行总体设计时应加强模块间日勺联络。(N2 .系统构造图是精确体现程序构造的图形表达法。因此,有时也可
23、以将系统构造图当作系统流程图使用。( N )3 .用黑盒法测试时,测试用例是根据程序内部逻辑设计日勺。( N )4 .在程序调试时,找出错误日勺位置和性质比改正该错误更难。(Y )5 .以对象、类、继承和通信为基础的面向对象设计措施(00D)也是 常见的软件概要设计措施之一。(Y )6,假如通过软件测试没有发现错误,则阐明软件是对日勺日勺。(N )7,迅速原型模型可以有效地适应顾客需求日勺动态变化。(Y )8 .模块化,信息隐藏,抽象和逐渐求精的软件设计原则有助于得到 高内聚,低耦合度的软件产品。( Y )9 .集成测试重要由顾客来完毕。(N )10 .软件危机完全是由于硬件问题引起日勺。(N
24、 )Warnier措施也是一种面向数据构造的设计措施,其逻辑更严格.(X) PAD图在设置了五种基本控制构造后,还容许递归调用.(X) 为了加紧软件维护作业的进度,应尽量增长维护人员的数目.(X) 当验收测试通过,软件开发就完毕了 .(X) 完毕测试作业后,为了缩短源程序的长度应删除程序中的注解.(X)第二章:可行性研究1:可行性研究实质上是一次简化,压缩了时(需求分析和设计)2:可行性研究的三个方面是技术可行性、操作可行性、社会可行性 和(经济可行性)1.数据流图和数据字典共同构成系统的I逻辑模型。1:技术可行性要研究欧I问题之一是(D )A:存在侵权否B:成本效益问题C:运行方式可行否 D
25、:技术风险问题2:研究硬件资源的有效性是进行( A )研究的首先A:技术可行性 B:经济可行性C:社会可行性D:操作可行性三:名词解释1 .可行性研究:可行性研究实质上是要进行一次大大压缩简化了的 系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的 系统分析和设计的过程;2 .技术可行性:看待开发的系统进行功能、性能和限制条件的分析, 确定在既有的资源条件下,技术风险有多大,系统能否实现;3 .经济可行性:这个系统日勺经济效益能超过它的I开发成本吗?4 .社会可行性:实用性怎样四.问答题1.可行性研究的任务是什么:可行性研究最主线的任务是对后来的行 动方针提出提议。2 .可行性研究有
26、那些环节:(1)复查系统规模和目的;(2)研究 目前正在使用的系统;(3)导出新系统日勺高层逻辑模型;(4)深入 定义问题;(5)导出和评价供选择的解法;(6)推荐行动方针;(7) 草拟开发计划;(8)书写文档提交审查;3 .可行性研究时目的.:可行性研究时目的不是处理问题,而是确定问 题与否值得去处理;五、数据流图的基本符号:(1)正方形(或立方体)表达数据的源 点或终点;(2)圆角矩形(或圆形)代表变换数据的处理;(3)开 口矩形(或两条平行横线)代表数据存储;(4)箭头表达数据流, 即特定数据日勺流动方向。数据流图的作用:1、便于顾客体现功能需求和数据需求和其联络;2、便于两类人员共同理
27、解现行系统和规划系统的框架;3、清晰体现数据流的状况;4、有助于系统建模。什么是数据流图:数据流图从数据传递和加工的角度,以图形的方 式刻画数据流从输入到输出的移动变换过程。六、数据字典:数据字典是有关数据的信息的集合,也就是对数据流 图中包括的所有元素的定义的集合;数据字典的作用是在软件分析和 设计的过程中给人提供有关数据的描述信息; 七、成本/效益分析措施是可行性研究的一项重要内容,是客户组织 负责人从经济角度判断与否继续投资于这项工程的重要根据;应考虑:货币的时间价值;投资回收期;纯收入;投资 回收率成本估计有:代码行技术;任务分解技术;自动估计成本 技术第三章:需求分析一.填空题1.需
28、求分析阶段,分析人员要确定对问题的综合需求,其中最重要日勺 是(功能)需求3.数据字典中,一般不出现的条件是(D )A数据流B数据存储C加工D源点与终点8.需求分析阶段不合用于描述加工逻辑的工具是(D )A构造化语言 B鉴定表C鉴定树D流程图四. 简答题1 .什么是需求分析?该阶段的基本任务是什么:需求分析是发现、 求精、建模、规格阐明和复审的过程;精确定义未来系统目的,确定 为了满足顾客的需要系统必须做什么;2 .简述构造化分析的环节:(1)系统分析员应当从不一样的角度抽 象出目日勺系统的特性;(2)使用精确日勺表达措施构造系统的模型;(3)验证模型与否满足顾客对目的系统日勺需求;(3)在设计过程中