ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:28.98KB ,
资源ID:12472131      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12472131.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新软件工程知识点答案.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新软件工程知识点答案.docx

1、最新软件工程知识点答案软件工程知识点答案 时间特点程序设计程序系统软件工程软件所指程序程序及说明书程序,文档,数据主要程序设计语言汇编及机器语言高级语言软件语言软件工作范围程序编写包括设计和测试软件生存期需求者程序设计本人少数用户市场用户开发软件的组织个人开发小组软件工程知识点答案软件规模小型中小型大中小型决定质量的因素个人程序技术小组技术水平管理水平开发子程序,程序库结构化程序设计数据库,开发工具,软件工程知识点答案法,标准和规范,网络和分布式开发,面向对象技术维护责任者程序设计者开发小组专职维护人员硬件特征价格高 存储容量小 工作可靠性差降价 速度 容量及工作可靠性有明显提高大容量 模型化

2、及网络化方向发展软件特征完全不受重视软件技术的发展不能满足需求,出现软件危机开发技术有进步2.软件工程的定义软件工程的定义:采用工程的概念、原理、技术和方法来计划、开发与维护软件,把经过 时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结 合起来,以较经济的手段获得能在实际机器上运行的可靠软件的一系列方法. 软件工程=工程技术+管理技术+技术方法3.软件开发方法的模型随意编程 面向过程 面向对象 面向组件 面向配置文件 面向WebService4.软件危机定义:是计算机 软件在它的开发和维护过程中所遇到的一系列严重问题5.软件危机主要包含问题: 如何开发软件,怎样满足对软件日益增长的

3、需求; 如何维护数量不断膨胀的已有软件.6.软件危机的原因:客观:软件本身特点(软件的规模庞大、复杂性高) 主观:不正确的开发方法,软件开发和维护有许多错误的认识和作法. (忽视需求分析;软件开发=程序编写;轻视软件维护)7.软件危机的特征:软件价格在整个项目投入中的比例不断升高 软件开发成本严重超标 软件开发周期大大超过规定日期 软件质量难于保证 软件修改,维护困难 失败的根本原因在于:开发人员写出的东西达不到用户要求(人的问题 技术问题) 8.软件工程的原理: 用分阶段的生命周期计划严格管理 不成功的软件项目中有一半左右是由于计划不周造成的 . 坚持进行阶段评审 软件的质量保证工作不能等到

4、编码阶段结束之后再进行. 实行严格的产品控制 在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价. 采用现代程序设计技术 采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率. 结果应能清楚地审查根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查. 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验.9.软件生命周期:软件定义,软件开发和运行维护10.常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )模

5、型.11.软件过程分类及各类内容:基本过程:生命周期原动力 支持过程:辅助基本过程执行 组织过程:建立控制和改进生命周期过程12. 软件过程的构造: 建立一个公共过程框架,其中定义了少量可用于所有软件项目的框架活动 给出各个活动的任务集合,使得框架活动能够活动能够适合于项目的特点和项目组的需求 保护伞活动,如软件质量保证等,它们独立于任何一个框架活动并将贯穿于整个过程13.软件工程包括三要素:方法、工具和过程. 14.软件工程过程的基本活动 软件规格说明:规定软件的功能及其运行的限制; 软件开发:产生满足规格说明的软件; 软件确认:确认软件能够完成客户提出的要求; 软件改进:为满足客户的变更要

6、求,软件必须在使用的过程中改进.15软件工程的原则: 抽象与自顶向下、逐层细化 采用分层抽象的方法,有效控制软件开发的复杂性. 模块化 把问题分解为若干较小的较易解决的模块,有助于信息隐蔽和抽象. 信息隐蔽和数据封装 将模块中的软件设计决策封装在模块内部,使得模 块实现与使用分离,有助于控制修改局部化.抽象与自顶向下、逐层细化 局部化 在一个物理模块内集中逻辑上相互关联的计算机资源,促使聚合具有 特定目的的事物. 一致性 整个软件系统的模块使用一致的设计策略、编程风格,保持程序内部 接口的一致性、软件与硬件接口的一致性、系统规格说明与系统行为的一致性. 完备性 软件系统中不丢失任何成分. 可验

7、证性 系统分解应当遵循易检查、易测试和易评审的原则,以保证系统的正确性.16.需求的层次?业务需求;用户需求;功能需求和非功能需求;系统需求17.信息系统需求获取的步骤? 定义项目的视图和范围 确定用户类 确定目标系统的业务工作流 运用需求获取技术开发反映主要业务规则的用例(或数据流图)并设置优先级. 收集来自用户的质量特性信息和其他非功能需求 分类在用例(或数据流图)中涉及的数据 详细拟订用例(或数据流图)的规格说明 开发并评估界面原型 从功能描述中开发概念测试用例 18.功能性需求包括什么? 1功能需求 例举出开发软件在职能上应做什么,这是最主要的需求. 2性能需求 给出所开发软件的技术性

8、能指标,包括存储容量限制、运行时间限制、安全保密性等. 3环境需求 软件系统运行时多所处的环境要求. 4可靠性需求 各种软件在运行时,失败的影响各不相同,在需求分析时,应对所开发的软件在投入运行后不发生故障的概率,按实际的运行环境提出的要求. 5安全保密要求 把软件运行的安全需求恰当地做出规定,以便对所开发的软件给予特殊的设计,使其在运行中其安全保密方面的性能得到必要的保证. 6用户界面需求 软件与用户界面的友好性是用户能够方便有效、愉快地使用该软件的关键之一. 7资源使用需求 开发软件运行时所需的数据、软件、内存空间等各项资源. 8软件成本消耗与开发进度需求 软件项目立项后,要根据合同规定,

9、对软件开发的进度和各项步骤的费用提出要求,作为开发管理的依据. 9预先估计系统可能达到的目标 在开发过程中可对系统将来可能的扩充与修改做准备.19.非功能性需求包括什么? 过程需求;产品需求;外部需求20.如何将分析模型转换为设计?将数据流图转换为体系结构设计21.软件设计的主要手段设计应遵循抽象化的原则,包含数据抽象和过程抽象. 过程抽象 是指在软件设计中将处理过程的实现细节隐藏在数据抽象中,可 以直接通过模块接口使用这些处理操作. 数据抽象 是指采用抽象数据类型表示数据,实现数据封装,使得使用者可通 过接口使用数据而不必关心数据结构的实现.设计应遵循自顶向下、逐步细化的原则,建立一个层次的

10、结构.设计应当遵循模块化的原则设计应遵循信息隐蔽的原则22.衡量功能独立性的两个准则?模块间的耦合和模块的内聚23.结构化设计方法的实施要点? 首先研究、分析和审查数据流图 根据数据流图确定数据处理的类型 由数据流图推导出系统的初始结构图. 利用一些启发式原则改进系统初始结构图,直到得到符合要求的结构图为止. 修改和补充数据字典. 制定测试计划.24.结构图的主要成分?模块;模块的调用关系和接口;模块间的信息传递;重复调用和选择调用的符号25.结构图中的4种类型的模块?传人模块;传出模块;变换模块;协调模块26.使用结构化方法进行软件系统设计的过程?复查并改造数据流图;确定数据流图具有交换流特

11、性还是事务流特性;导出初始的软件结构图;逐级分解;改进软件结构;导出接口描述和全局数据结构.27.改进系统结构的启发式原则?模块功能的完善化;消除重复功能,改善软件结构;模块的作用范围应在控制范围之内;尽可能减少高扇出结构,随着控制层次深度的增大增加扇入;减少或者避免使用病态连接;模块的大小是适中;设计功能可预测的模块,避免过分受限的模块;软件包应满足设计的约束和可移植性28软件开发的4个阶段:状态捕获,问题定义,技术开发,方案综合 29数据设计的原则? 为在需求分析阶段所确定的数据对象选择逻辑表示,需要对不同结构进行算法分析 确定对逻辑数据结构所必需的那些操作的程序模块(软件包),以便限制或

12、确定各个 数据设计决策的影响范围.30内聚类型?功能内聚;层内聚;通信内聚;顺序内聚;过程内聚;时间内聚;实用程序内聚31举例说明如何实现程序的自顶向下?32程序设计的风格? 源程序文档化 数据说明 语句结构 输入/输出方法33在语句结构中需要注意什么?(315)尽量只采用三种基本的控制结构来编写程序在一行内只写一条语句,并且采用适当的移行格式,使程序的逻辑和功能变得更加明确.在一行内写多个语句,会使程序可读性变差,因而不可取程序编写首先应考虑清晰性,不要刻意追求技巧性,使程序编写得过于紧凑34什么是软件测试?目的是什么?从用户的角度出发,普边希望通过软件测试暴露软件中隐藏的错误和缺陷从软件开

13、发者角度出发,希望测试称为表明软件产品中不存在错误的过程35软件测试的原则?软件测试原则: 1.应当把“今早的和不断的进行软件测试”作为软件开发者的座右铭 2.测试用例应由测试输入数据,执行条件对应的预期输出结果组成 3.程序员应当避免检查自己的程序 4.再设计测试软件时,应当包括合理的输入条件和不合理的输入条件 5.充分注意测试中的集群现象 6.严格执行测试计划,排除测试的随意性 7.应对每一个测试结果做全面检查 8.妥善保存测试计、测试用例、出错统计和最终分析报告.为维护提供方便.36软件测试与程序设计之间的区别?软件测试并不等于程序测试软件测试贯穿于软件定义与开发的整个期间程序测试只涉及

14、到编码阶段37基本路径测试的步骤?1.基本流经测试方法把覆盖的路径压缩到一定程度内,程序中的循环体最多执行的依次 2.在程序控制流图上的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合;针对每条路径设计测试用例 3.设计出的测试用例需保证在测试中,程序的每一个可执行语句至少要执行一次38划分等价类的原则?1.如果输入条件规定了取值范围,或者值的个数.则可以确立一个有效等价类和两个无效等价类 2.如果输入条件规定了输入值的集合,或者是规定了必须如何的条件,这时可确立一个有效的等价类和一个无效的等价类 3.如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类 4.如果规定了输

15、入数据的一组值,而且程序要对每个输入值进行分别处理,这时可为每一个输入的值确立一个有效的等价类,此外针对这组值确立一个无效的等价类,他们是所有不允许的输入值的集合.5.如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). 6.如果我们却只,已划分的等价类中各元素在程序中的处理方式不同,则应该将此等价类进一步划分成更小的等价类.39如何选择边界测试用例的原则?1) 整数边界:1大小范围边界2.极限边界3.位边界2) 字符串边界:1前后边界2长度边界3结束边界4取值范围边界5相似边界6数值边界7显示边界40因果图的适用范围?1.如果在测试

16、时必须考虑输入条件的各种组合,可以使用一种适合于描述对于多种条件的组合,相应的产生多个动作的形式来设计测试用例,这就需要利用因果图2.适合于检查程序输入条件的各种组合的情况41使用各种测试方法的综合策略?.任何情况下,必须使用边界值分析法 2.必要时用等价划分法补充一些测试用例 3.用错误推测法再追切一些测试用例 4.对照程序逻辑,检查已有的测试用例的逻辑覆盖程度,若达到标准,应在补充足够的测试用例 5.若程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法.42接口测试中包含的错误类型有哪些?以及接口测试的准则?类型:参数接口、共享内存接口、程序接口、消息传递接口错误类型:接口

17、勿用、接口误解、计时错误准则:1)为传递给其他构件的参数选择紧靠取值范围边界得值2)当有指针通过接口传递时,可用空指针参数来测试3)设计一些容易引起构件执行失效的假设进行测试4)在有消息传递的系统中进行强度测试,即就加大消息传递的量,增加系统的负荷5)当构件之间通过空想内存交互时,可以设计一种测试,改变正常的激活构件的顺序43软件过程的构造是什么?1)建立一个公共过程框架,定义少量可用于所有软件项目的框架活动2)给出各个框架活动的集合,便得框架活动能够是用于项目的特点项目组的需求3)最后是保护伞活动,独立于任何一个框架活动冰贯穿于整个过程44软件过程的三大类包含什么内容?基本过程,支持过程,组

18、织过程基本过程是生命周期中的原动力;支持过程辅助基本过程的执行;组织过程用于建立控制和改进生命周期的过城基本过程:获取、供应、开发、运行、维护支持过程:文档编制.配置管理、质量保证、验证、确认、联合评审、审计、问题解决组织过程:管理、基础设施、改进、培训45软件过程评估标准的结构是什么?标准具有两维结构:过程维和能力维46软件过程的成熟度定义?指一个软件过程被明确定义,管理,度量和控制的有效程度,成熟度越高说明软件过程能力改善的潜力越大47CMM成熟度模型?他是指对过程计划或者定义水平,过程实施水平,过程管理和控制水平,过程改善潜力等指标的综合评价48软件成熟程度分为5级?初始级、可重复级、可

19、定义级、可尝试级、优化级.49软件成熟度高低用什么衡量?高:项目开发可依据企业早已明确的过程准则来实现开发结果较少依靠个人能力和自然因素项目有过程控制并可对整个生产做出预测产品质量得到有效监测历史经验得以积累并可系统的用于现行行业未来的项目之中低:没有明确的软件郭晓恒体系可以依据 无法对生产进行预测 不严格执行生产过程 质量无法保证 无健全过程控制级质量控制体系 项目开发没有准则可以依据 开发结果主要依靠项目及个人的带有主观因素的能力发挥50CMM如何定义关键过程域?CMM定义关键过程域为一个互相关联的若干软件时间活动和有关基础设施的联合51关键实践的5个特征?执行约定(实施的保证),执行能力

20、(实施kpa的前提条件),执行活动(执行kpa所需要的角色和步骤),测量和分析,验证实施.52CMM的内部结构?成熟度等级53什么是CMMI?SEI把各种模型进行了整合,用一个单一的过程框架,包括了各个不同的方面形成CMM1,即能力或者成熟度模型的形成54CMMI模型系列?1)CMMI -SW(软件能力成熟度模型集成)2)CMMI - SE/SW(系统工程和软件工程能力成熟度模型集成)3)CMMI -SE/SW/IPPD(系统工程 软件工程 集成化产品和过程开发能力成熟度模型集成)4)CMMI - SE/SW/IPPD/SS(系统工程 软件工程 集成化产品和过程开发,供应商管理宁溧成熟度模型集

21、成)55软件质量的定义?软件质量的定义:与软件产品满足规定的和隐含的需求的能力有关的途径或特征的全体.56有关软件质量的术语?软件质量管理、质量方针、质量目标、质量策划、质量控制、质量保证57McCall质量模型?58软件产品质量通过测量什么来判定?内部质量特征、外部质量特征、使用质量特征59可依赖性层次?可依赖性,可靠性,安全防护性60提高软件质量的方法?原型划法 敏捷开发61软件原型支持需求工程的两项工程?其他用途?主要分类?需求获取,需求有效性验证其他用途:用户培训,系统测试主要分类:进化式原型开发,抛弃式原型开发62软件质量保证过程包括哪4个方面?过程实施,产品质量保证,过程质量保证,

22、质量保证体系的质量保证63微软提出的软件质量保证检查表?1.你识别出对你的项目很重要的质量特征了吗?2.你让其他人都知道项目的目标了吗3.你对外部质量特征和内部质量特征做了区分了吗?4.有没有想过哪些特征是冲突的,哪些是互补的?5.你的项目有没有采用几种不同的缺陷发现技术分析不同类型的错误?6.你的项目计划中有没有包括在软件开发不同阶段进行质量保证的步骤?7.质量有没有测量,以便于了解什么地方质量提高了,什么地方质量下降了?8.管理层是否了解质量保证在(开发)前期增加成本,而在后期节省成本?64外部质量特性与内部质量特性?外:正确性、可靠性、有效性、可用性、完整性、适用性、精确性、健壮性.内:

23、可维护性、灵活性、可移植性、可复用性、可读性、可测试性、可理解性.65质量保证活动的实施步骤?1.Target:以用户要求和开发方针为依据,对质量需求准则,质量设计准则的个质量特征设定质量目标2.Plan:设定适合于被开发软件的评测检查醒目(质量评价准则),研讨实现质量目标的方法或这手段.3.Do:之作高质量的规格说明和顺序,在接收质量检查前先做自我检查4.Check:以plan阶段设定的质量评价标准进行评价,计算结果用质量图的形式表示出来,比较评价结果的质量得分和质量目标看其是否合格5.Action:对评价发现的问题进行改进活动,如果实现并达到了质量目标,就转入下一个工程阶段,这样重复“pl

24、an”到“Action”的过程,直到整个开发项目完成.66程序复杂性度量的参数主要有什么?规格:程序指令条数或源程序行数难度:与程序操作数和操作符有关的度量结构:与程序分支数有关的度量智能度:算法的难易程67源代码行数度量法基于的两个前提是什么?1.程序复杂性随着程序规模的增加不均匀增大2.控制程序规模的方法最好是采用分儿治之的办法,将一个大程序分解为若干个简单的可理解的程序段68方法的基本考虑是统计一个程序模快的源代码行数目并以源代码行数作为程序复杂性的度量69McCabe度量法的定义?又称环路复杂性度量,是一种基于程序控制法的复杂性度量方法,它基于一个程序模块的程序图环路的个数,因此计算他

25、先画程序图计算环路复杂性的方法:V(G)=m-n+2(m是图G中的弧数,即箭头数,n是图G的结点数)70计算环路复杂性的方法:V(G)=m-n+2计算环路复杂性的方法:V(G)=m-n+2(m是图G中的弧数,即箭头数,n是图G的结点数)71McCabe环路复杂度隐含的前提是什么? 错误与程序的判定加上例行子程序的调用数目成正比72程序长度的定义?n1表示程序中不同运算符的个数,n2表示程序中不同运算对象的个数,H表示程序的长度,公式为H=n1*log n1+n2*log n2 2 2(H是程序长度的预测值不等于程序中的语句个数)73Halstead的重要结论?程序的实际Halsteasd长度N

26、可以有词汇表n算出,即使程序还未编译完成,也能预算出程序的实际长度N.74Halstead度量的缺点?没有区别自己编的程序与别人编的程序,没有考虑非执行语句,没有把不同类型的运算对象,运算符与不同的错误发生率联系在一起,没有注意调用的深度.忽视了嵌类结构.75软件维护的定义及种类?软件维护:在支付以后,修改软件系统与部门以排除故障.改进性能或其他属性或适应变更了的环境的过程.种类:改正性维护;适应性维护;完善性维护;预防性维护76决定软件可维护性的因素?可理解性 ;可靠性;可测试性;可修改性;可移植性;效率;可使用性77提高软件可维护性的方法?1)确定质量目标和优先级2)规范化程序设计风格3)

27、选择可维护性高的设计语言4)改进程序文档5)保证软件质量审查方法78逆向工程的定义?指在软件生存周期中,将软件的某种形式描述转换成更抽象形式的活动79重构的定义?指在同一抽象级别上转换系统的描述形式80设计恢复?指借助工具从已有程序中抽象出有关数据结构设计,总体结构设计,过程设计的信息81再工程的定义?指在逆向工程所获得信息的基础上修改或者重构已有的系统,产生系统的一个新版本82再工程的主要目的?为遗留系统转换为可演化系统一共一条现实可行的途径83再工程包含什么?业务过程再过程 软件再过程84根据源程序的类别不同,逆向工程可分为?对用户界面的逆向工程,对数据的逆向工程,对调节的逆向工程85经过再工程过程可获得的信息?格式,图形,文档,度量值,逻辑,报告86程序分析技术?程序结构工程工具,程序功能分析工具87软件过程成熟度定义:一个软件过程被明确定义,管理度量和控制的有效程度越高,改善的潜力越大.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1