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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(《软件工程》重点考试知识点-简答.docx)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

《软件工程》重点考试知识点-简答.docx

1、 第一章 1、软件概念:由计算机程序,数据,软件文档组成 软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际 运行情况来了解他的功能特性和质量等; 人们在分析设计开发测试过 程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题; 开发运行依赖一定的计算机系统环境;具有可复用性 软件的分类:按功能分:系统支撑应用软件; 按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理 2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象

2、 主要表现: l 开发人员开发的软件产品不能完全满足用户的需求; l 软件产品的质量难以得到保障; l 开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦; l 随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变; l 软件文档不完备并且存在文档内容与软件产品不符的情况。 原因: ①软件开发是一项 复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段 ②没有完善的质量保证体系 ③软件文档的重要性没有得到软件开发人员和用户的足够重视 ④从事软件开发的专业人员对这个产业认识不够充分缺乏经验 ⑤软件独有的特点也给软件的开发和维护

3、带来困难 3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。 软件工程的目标: l 使软件开发的成本控制在预计的合理范围内; l 使软件产品的各项功能和性能能够满足用户需求; l 提高软件产品的可靠性; l 使生产出来的软件产品易于移植维护升级和使用; l 使软件产品的开发周期能够控制在预计的合理时间范围内。 软件工程学科内容: l 软件工程原理过程方法模型管理度量环境应用。 软件工程的基本原则: l 将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理; l 坚持阶段评审制度已确保软件产

4、品的质量; l 实施严格的产品控制以适应软件规格的变更; l 采用现代程序设计技术;开发出来的产品应该能够清楚地被审查; l 合理地安排软件开发小组人员并且开发小组 的人员要少而精; l 不断改进软件工程的实践。 IEEE计算机学会建立软件工程知识体系指南的目的: l 促进世界范围内对软件工程的一致观点; l 阐明软件工程相对于其他学科的位置; l 刻画软件工程学科的内容; l 提供使用知识体系的主题。 4、软件的生命周期:是指从设计该产品的构想开始到软件的需求的确定软件设计软件实现产品的测试与验收投入使用及版本的不断升级,到最终被市场淘汰的全过程。 各个阶段:

5、① 可行性研究 ② 需求分析 ③ 软件设计 ④ 编码 ⑤ 软件测试 ⑥ 软件维护。 5、软件开发模型: ⑴ 瀑布模型。 是一种线性的软件开发模型回溯性很差,是一种基于里程碑的阶段过程模型,强调软件开发的阶段性,每个阶段完成特定的任务。 瀑布模型适应: l 需求可以一次性全部获得,开发人员经验丰富,软件项目风险低。 优点:阶段性强易于管理缺点开发过程不灵活不能适应环境的变化。 ⑵ 原型模型: 是开发人员为了快 速而准确的获取需求常采用的方法。 特点:主要用于挖掘需求,原型系统通常针对软件开发系统的指功能模块,功能相对不完善,通常结合其他模块共同使用。 适应: 对现

6、有的软件系统产品进行升级或完善,开发人员与用户需求受限需求获取困难,开发人员对将要采用的技术手段不熟悉,具备快速开发工具。 优点:是简单快速缺点是需要花费一些额外的成本。 ⑶ 增量模型:、 是把带开发软件系统模块化和组件化。 优点:可以分批次的提交软件产品,减低了软件开发的风险,开发顺序灵活。 缺点:要求待开发的项目可模块化。 ⑷ 螺旋模型: 用于风险较大的大型软件开发模型,分为制定计划风险分析实施工程客户评估。 6、敏捷模型:是一种轻量级的软件方法。避免了传统重量级软件开发过程复杂文档繁琐的弊端,强调软件开发过程中团员的交流,过程的简洁,用户反馈的特性 第二章 1、可行

7、性研究的目的不在于提出解决问题的方案,而在于研究解决问题的必要性和可能性。意义是尽早的停止项目的开发就能够避免时间、资金、人力和物力的浪费 2、可行性研究包括:技术、社会、经济可行性研究 3、技术型可行性研究是对技术解决方案的实用性、技术资源的可用性和设备条件作出评估。 经济可研究要对项目的开发总成本与开发系统将带来的经济效益之间的差值进行度量。社会可行性研究从政策、法律和制度等社会因素方面考虑项目开发的合理性和意义 4、可行性研究的步骤:确定系统的目标;分析研究正在运行的系统; 设计新系统的高层逻辑模型; 提出可行的解决方案并对其进行评估和比较;选择合适的解决方案;撰写可行性研究报

8、告 5、可行性研究的结论一般有三种: l 可以按计划进行软件项目的开发; l 需要解决某些存在的问题或者需要对现有的解决方案进行一些调整 或改善后才能进行软件项目的开发; l 待开发的软件项目部不具有可行性、立即停止该软件项目 6、成本-效益分析 第三章 1、面向对象的基本概念包括对象类封装继承多态,对象是客观世界 中存在的事物,已可以是概念化的实体,他由一组属性和操作组成。类是对对象的抽象,是对具有相同属性和相同操作的一组相似对象的定义。封装是指把对象的属性和操作结合在一起组成一个独立的单元,强调独立与封闭。继承表示类之间的层次关系他使得某类对象可以自动拥有另外一个或多个对

9、象的全部属性和操作。多态是一种使父类中定义的属性或操作被子类继承后可以有不同的实现的机制。 2、面向对象软件工程方法的优点:符合人们的思维习惯,稳定性好,可复用性好。 3、目标系统的类可以划分为边界类、控制类和实体类 4、UML统一建模语言,是一种标准的图形化建模语言,主要用于软件的分析和设计,用定义完善的符号来图形化的展现一个软件系统 第四章 1、需求分析是在可行性研究的基础上,将用户对系统的描述,通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。 2、需求分析的步骤:获取需求识别问题,分析需求建立目标系统的逻辑框架,将需求文档化,需求验证 3、数据流图

10、 data flow diagram 是描述系统中数据流的图形工具,是一 种用来表示信息流和信息变换过程的图解方法可以标识一个系统的 逻辑输入和输出,以及把逻辑输入转化为逻辑输出所需的加工处理。 4、结构化需求分析采用的是:自顶向下由外到内逐层分解的思想 5、数据字典用数据流图流图来表示系统的逻辑模型直观且形象,但是缺乏细节描述,也就是说他没有准确和完整的定义各个图元。包含 四类条目:数据流、数据存储、数据项、数据加工 6、ER图包括实体、联系、属性 第五章 1、软件设计的分类 l 前期进行概要设计,得到软件系统的基本框架; l 后期进行详细设计,明确系统内部的实现细节。

11、 2、软件设计的原则 ① 模块化 ② 抽象 ③ 逐步求精 ④ 信息隐藏 3、模块化就是把系统或程序划分为独立命名且可以独立访问的模块,每个模块完成一个特定的子功能。 在模块化的过程中需要注意: l 模块的规模要适中,提高模块的独立性,降低模块间的耦合程度,提高模块的内聚程度,加强模块的保护性。 4、事务型数据流的设计步骤 ① 确定以事务为中心的结构,找出事务中心、接收数据、处理路三个部分。 ② 将数据流图转换为厨师的系统结构图。 ③ 分解和细化接收分支和处理分支。 5、面向数据结构的设计方法 比较流行的有Jackon方法和Warnier方法。 6、Jackon方

12、法 把数据结构分为三种基本类型:顺序结构、选择结构、和循环结构。 7、流程图 是对过程、算法、流程的一种图形表示,它对某个问题的定义、分析或解法进行描述,用定义完善的符号表示操作、数据、流向等概念。 8、流程图分为数据、程序、系统、程序网络图和系统资源图。 9、流程图五种基本结构:顺序型、选择型、先判定型循环、后判定型 循环和多路分支选择型。 10、面向对象的设计原则 ① 模块化 ② 抽象化 ③ 信息隐藏 ④ 低耦合 ⑤ 高内聚 ⑥ 复用性。 11、软件系统的设计模式 解决某一类相似问题的方法论。描述了该问题的解决方案的核心。 12、23种模式分3类:①创建型

13、模式 ②结构型模式 ③行为型模式。 13、所谓模式,就是只解决某一类相似问题的方法论。每种设计模式都包含四个要素:模式名称,问题,解决方案,效果描述 第七章 1.编码的过程就是把软件设计阶段得到的解决方案转化为可以在计算机上运行的软件产品的过程。 2.编程语言 ① 机器语言 ② 汇编-面向机器的低级语言(简捷、快速) ③ 高级语言 面向过程、对象 ④ 超高级语言。 3、选择编程语言时,考虑的因素: ① 应用领域 ② 用户要求 ③ 开发人员 喜好能力 ④ 可移植要求 ⑤ 算法和数据结构的复杂性。 4、源程序文档化 ① 按实际意义命名 ② 遵循一定命名规则

14、 ③ 变量不要过于相似 ④ 定义时作出解释; 数据说明; 语句构造; 输入输出; 效率。 第八章、第九章 1 软件测试是发现软件中错误和缺陷的主要手段。 2 软件测试的原则: ① 完全测试是不可能的 ② 测试中存在风险 ③ 软件测试只能表明缺陷的存在 ④ 软件产品中潜在的错误数与已发现的错误数成正比 ⑤ 让不同的测试人员参与到测试工作中 ⑥ 让开发小组和测试小组分离 ⑦ 尽早并不断的进行测试 ⑧ 要重点测试容易出错或错误较多的模块 ⑨ 应该长期保留所有的测试用例 3、常用的软件测试模型有:V模型,W模型和

15、H模型 4、软件测试的分类: 按照时间阶段:单元测试,集成测试,系统测试,验收测试。 按照是否运行程序:动态测试,静态测试。 按照是否看源码:黑盒测试,白盒测试。 按照质量因素:功能测试,可靠性测试,可用性测试,性能测试,安全性测试 5、审查和走查是静态测试的常用形式,且静态测试的效率比较高 6、动态测试中有两种非常流行的测试技术,即黑盒测试和白盒测试 7、单元测试是指对软件中最小的可测试单元进行检查和验证,基本单元一般来说是一个函数、一个过程或者一个类。通常情况下,测试人员采用的白盒测试的方法。 8、集成测试是指在单元测试的基础上,对通过测试的单元模块组装成系统或子系统进行

16、测试,由于测试的对象是经过单元限额是的代码,所以集成测试并不关注各个模块的内部细节, 而是关注模块之间的接口是否运行正常 9、软件测试的一般步骤:单元测试、集成测试,系统测试,验收测试 10、面向对象的软件测试可分为:面向对象的分析、设计、实现、单元、集成、系统测试和验收测试 11、软件结构优化设计准则: ⑴ 使每个模块执行一个功能 ⑵ 每个模块用过程语句调用其他模块 ⑶ 模块间传送的参数作数据用 ⑷ 模块间共用的信息尽量少 ⑸ 设计优化应该力求做到在有效模块化的前提下使用最少量的模块,并且在能够满足信息要求的前提下使用最简单的数据结构。 12、耦合

17、耦合:是对一个软件结构内不同模块间彼此联系程度的一种定性耦合度量。 13、对象 对象:是系统中用来描述客观事物的一个实体,是具有明确语义、对象、边界的实体。 14、测试方法 ⑴ 静态测试 静态测试:通常不要求在计算机上实际执行所测程序,主要 静态测试 以一些人工的模拟技术对软件进行分析和测试。主要包括代码审查和静态结构分析。 ⑵ 动态测试 动态测试:是通过输入一组预先按照一定的测试准则构造的动态测试实例数据来动态运行程序,从而达到发现程序错误的过程。它包括黑盒测试和白盒测试。 16.测试技术 ⑴ 黑盒测试 黑盒测试:在测试时,吧、把程序看作一个不能打开的黑盒 黑盒测试 子,在完全

18、不考虑程序内部结构和内部特性的情况下,测试者在程序接口处进行测试。 ⑵ 白盒测试 白盒测试:是一种广泛使用的逻辑测试技术。它的对象基本白盒测试上是源程序,是以程序的内部逻辑结构为基础的一种测试技术。 18、软件测试要经过哪几个阶段?每个阶段与什么文档有关? 软件测试要经过哪几个阶段?每个阶段与什么文档有关? 软件测试要经过测试计划过程、测试设计过程、测试执行过程、测试结束过4个阶段 测试计划输出文档:测试计划与测试需求测试设计过程输出文档:测试说明与测试方案测试执行过程输出文档:测试用例与测试规程 测试结束过程输出文档:测试结论与测试报告 第十章 1、软件的维护是软件产品生命

19、周期的最后一个阶段 2、软件维护的过程: ① 建立维护机构 ② 用户提供维护申请并提交维护 申请报告 ③ 维护人员确认维护类型并实施相应的维护工作 ④ 整理维护 记录并对维护工作进行评审 3、软件的维护可以分为: l 纠错性维护是为了识别并纠正软件产品中所浅尝的错误,改正软件性能上的缺陷所进行的维护; l 适应性维护时为了使软件产品适应硬件环境的变更而进行的维护; l 完善性维护是主要部分,他是针对用户对软件产品所提出新的需求所进行的维护; l 预防性维护。 4、影响可维护性的因素:可理解性,可测试性,可修改性等。 提高可维护性的措施: l 建立完整的文档;

20、 l 采用先进的维护工具和技术; l 注重可维护性的评审环节。 5、软件的质量的特性包括功能性、可靠性、可用性、效率、可维护性和可移植性 6、McCall软件的质量特性模型中的每种特性有(运行维护移植):正确性、效率、可靠性、可用性、完整性、可维护性、可测试性、灵活性、可移植性、互联性、可复用性。 7、软件质量的保证的措施: ① 基于非执行的测试 ② 基于执行的测试 ③ 程序的正确性证明。 8、配置管理的工作范围一般包括: 标识配置项、进行配置控制、记录配置状态、执行配置审计。 9、文档是指某种数据介质和其中所记录的数据。软件文档是用来表示对需求、过程或结果进行描述、定义

21、规定或认证的图示信息,他描述或规定了软件设计和实现的细节。 10、软件工程文档可以分为:用户文档、开发文档和管理文档。 二.解释名词 1. 软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据、相关文档的完整集合以及后续的维护服务。 2. 白盒测试:是对软件的过程性描述做细致的检查,软件测试员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 3. 边界值分析:就是首先确定边界情况,然后选取正好等于、刚刚大于,或刚刚小于边界的值作为测试数据。 4. 模块的扇入/扇出数:在软件结构中,下级模块被上级模块调用的个数称为

22、模块的扇入,上级调用下级模块的个数称为扇出数。 5. 静态模型:是通过系统对象类及其之间的关系描述系统的静态结构。 6. 模块的控制范围:指该模块及所包含的子树。 7. 测试和调试: 测试是为了发现错误;调试是要找出错误的位置并改正错误。 8. 继承: 就是子类自动共享父类数据结构和方法的机制。 9. 渐增式测试:在对系统的测试过程中,将模块是按照测试方案,一个一个逐步添加到被测试的系统中。 10. 需求分析:是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过

23、程。 11. 数据流图,简称DFD,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 12. 耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。 13. 对象是人们要进行研究的任何事物,从最简单的整数以至复杂的飞机等均可着作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 14. 代码检查:以小组为单位阅读代码,应用一系列规程和缺陷检查技术,检查实际的产品,包括文档和程序代码

24、发现存在缺陷和缺陷的过程。 15. 可移植性:将软件从一个系统平台搬到另一个系统平台的容易程度。 16. 环路度量:程序的复杂性很大程度上取决于程序控制流的复杂性,单一的顺序程序结构最简单,循环和选择所构成的环路越多,程序就越复杂。 17. 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。 18. 功能测试:即黑盒测试,测试者值考虑程序的输入和输出,主要看程序是否实行其要求的功能。 19. 结构化程序设计:结构化程序设计是实现该目标的关键技术

25、之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。 结构化程序设计方法的基本要点是: 1)采用自顶向下、逐步求精的程序设计方法 2)使用三种基本控制结构构造程序 3)主程序员组的组织形式。 20. 状态图:状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。 21. 软件配置管理:软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。 22.软件生存周期模型 : 描述软件开发过程中各种活

26、动如何执行的模型 23.数据字典(DD):数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 24.内聚性:内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量 25.JSP方法:JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 26.多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消

27、息可以产生不同的结果。)内容。  27.经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。  28.社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。  29.投资回收期:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。 30.对应关系:即有直接因果关系在程序中可以同时处理。 31.结构冲突:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。 32. 可行性分析:用最小的代价在尽可能短的时间内确定问题是否能够解决。 33.

28、信息隐藏:是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据)对于不需要这些信息的模块来说是不能访问的。 34. α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。 β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。 35. 测试是为了发现错误;调试是要找出错误的位置并改正错误。 36. 程序的可维护性:为满足用户新的需求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。 37. 模块的控制范围:指该模块及所包含的子树。

29、38. 容错技术:对那些无法避开的差错,使其影响减少至最小的技术。也就是说,当错误发生时,尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范围内。 39. 驱动模块与桩模块:在测试过程中,用以代替被测试模块的上级模块称为驱动模块,用以替代被测试模块的下级模块称为桩模块。 40. 渐增式测试:在对系统的测试过程中,将模块是按照测试方案,一个一个逐步添加到被测试的系统中。 三.简要回答下列问题 1. 需求分析的任务是什么? 需求分析的任务是确定待开发的软件系统“做什么”。 具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统

30、的验收测试准则和初步的用户手册。 2. 数据流图由哪几种基本部件组成?画数据流图时最常犯的有哪些错误? ⑴ 主要成分:数据的源点或终点,数据处理,数据存储,数据流。 ⑵ 没有分支,条件和循环;没有数据出错处理,没有文件的打开和关闭;数据处理必须“有进有出”;数据存储必须“有进有出”;数据流线上有数据流名,且数据流名是名词;数据处理的命名是动词。 3. 什么叫模块化?设计一个系统时是否分的模块越多就越好说明原因。 ⑴ 模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 ⑵ 不一定。当

31、模块数目增加时每个模块的规模将减小,开发单个模块需要的成本 (工作量)确实减少了,但是,随着模块数量增加,设计模块间接上所需要的工作量也将增加,根据这两个因素,得出设计一个系统时并不一定模块越多越好。 4.PAD图的特点是什么? 4. PAD图的特点如下: ⑴ 清晰地反映了程序的层次结构。图中的竖线为程序的层次线,最左竖线是程序的主线,其后一层一层展开,层次关系一目了然。 ⑵ 支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。 ⑶ 易读易写,使用方便。 ⑷ 支持结构化的程序设计原理。 ⑸ 可自动生成程序。 5.软件测试过程中需要哪些信息? 软件测试时

32、需要三类信息: ⑴ 软件配置:指需求规格说明书、设计说明书、源程序等。 ⑵ 测试配置:指测试方案、测试用例、测试驱动程序等。 ⑵ 测试工具:指计算机辅助测试的有关工具。 6. 描述详细设计的基本任务。 详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。 7. 结构化生命周期方法的优点及其适应对象。 结构化生命周期方法的主要优点是:方法强调需求分析的重要性,即体现软件开发中用户至上的原则;开发过程的阶段划分,各阶段的具体任务明确;各阶段有具体的描述工具易于掌握;强调文档的重

33、要性,并给出文档的内容和格式,因此方法具有易操作性,是软件开发人员应该掌握的基本方法。 结构化方法更适合于需求能够预先明确定义的软件系统,如系统软件或某些实时控制软件等。 8. 画数据流图要注意哪些事项? ⑴ 设计数据流图时只需考虑系统必须完成的基本逻辑功能,不需要考虑怎样 具体的实现这些功能。 ⑵ 从顶层数据流开始。 ⑶ 并不是所有数据存储和数据流都能直接从问题描述中提取出来; ⑷ 当进一步分解将涉及如何具体地实现一个功能时,就不应该在分解了; ⑸ 数据流图中个成分的命名要仔细推敲,看是否恰当; 9.简述Jackson方法的设计步骤。 Jackson方法(JSP)

34、设计步骤: ⑴ 分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。 ⑵ 找出输入数据和输出数据结构中有对应关系的数据单元。“对应关系”指这些数据单元在数据内容上、数最上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。 ⑶ 按一定的规则由输入输出的数据结构导出程序结构。 ⑷ 列出基本操作与条件,并把它们分配到程序结构图的适当位置。 ⑸ 用伪码写出程序。 10. 如何控制因修改而引起的副作用? 为了控制因修改而引起的副作用,要做到: ⑴ 按模块把修改分组。 ⑵ 自顶向下地安排被修改模块的顺序。 ⑶ 每次修改一

35、个模块。 ⑷ 对每个修改了的模块,在安排修改下个模块之前,要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。 11. 软件工程是指什么?软件工程的性质是什么? 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程是一门综合性的交叉性学科,它涉及计算机科学、工程学科、管理学科数学等领域。计算机科学中的研究成果均可用于软件工程,但计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。软件工程要用管理科学中的方法和原理进行软件生产的管理。软件工程要用数学的方法建

36、立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。 12. 为了进行测试,为什么需要一个规格说明? 规格说明用来决定程序的实际行为何时正确,何时不正确。 13. 衡量模块独立的两个标准是什么?它们各表示什么含义? 衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。 ⑴ 耦合性。也称块间联系,是指软件系统结构中各模块间相互之间联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间的耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 ⑵ 内聚性。又称块内联系,是指模块的功能强度的度量,即一个模块内部各个元素

37、彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。 耦合性与内聚性是模块独立性的两个定性标准,在软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 14.何谓软件维护?常用的软件维护有几种? 软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。通常有四项基本维护:纠错性维护、完善性维护、适应性维护以及预防性维护等。 15.什么是序言性注释?它包涵哪些内容? 序言性注释通常放在每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序具有引导作用。 序言

38、性注释一般包含下列内容: ① 程序标题;有关该模块的功能和目的说明;主要算法; ② 接口说明:包括调用形式,参数描述、子程序清单; ③ 有关数据描述(重要的变量及其用途,约束或限制条件,以及其他有关信息); ④ 模块位置(在哪一个源文件中,或隶属于哪一个软件包); ⑤ 开发简历 模块设计者,复审者,复审日期,修改日期及有关说明等 16. 功能模型的特征有哪些? 功能模型描述了系统的所有计算。功能模型指出发生了什么,对动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组

39、成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。 17. 什么是测试用例?动态测试有哪些方法? 所谓“测试用例”是指为寻找程序中的错误而精心设计的一组测试数据,每个测试用例一般是一个二元组(输入数据、预期结果)。动态测试主要有两种方法:白盒测试法和黑盒测试法。白盒测试法是从被测试程序的内部逻辑入手来设计测试用例:黑盒测试法着重测试被测试程序的功能,而不关心内部如何实现其功能的结构,是从用户观点出发的测试。但无论白盒测试法还是黑盒测试法都只能选择一些有代表性的测试用例进行有限的测试。 ⑴ 白盒测试法:有6种用于有判定存在的逻辑

40、覆盖标准,即程序内部路径的覆盖程度。对于有循环存在的覆盖用限制循环次数的办法来测试。但是对于一个实际问题的程序测试中,其路径是一个庞大的数字,基本路径测试告诉了最少路径的计算办法,在分析程序控制流程图环路复杂性的基础上,导出基本路径集合,从而设计测试用例,保证这些基本路径至少执行一次,以最少的用例发现尽量多的错误。 ⑵ 黑盒测试法:具体方法有4种,采用黑盒测试法的综合策略是先用等价类划分法(包括边界值分析法,即取边值上的数)设计出测试用例,然后用错误推测法补充。如果被测试程序含有多个条件的逻辑组合,则开始就用因果图法。 18. 怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来

41、从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。  (2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。  (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支撑环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 19.说明软件工程管理的

42、重要性。 由软件危机引出软件工程,是计算机发展史上的一个重大进展。为了对付大型复杂的软件系统,须采用传统的“分解”方法。软件工程的分解是从横向和纵向即空间和时间两个方面进行的。横向分解就是把一个大系统分解为若干个小系统,小系统分解为子系统,子系统分解为模块,模块分解为过程。纵向分解就是生存期,把软件开发分为几个阶段,每个阶段有不同的任务、特点和方法。为此,软件工程管理需要有相应的管理策略。根据软件产品的特征,且随着软件规模的不断增大,开发人员也随之增多,开发时间也相应地持续增长,这些都增加了软件工程管理的难度,同时也突出了软件工程管理的必要性与重要性。事实证明,由管理失误造成的后果比程序错

43、误造成的后果更为严重。很少有软件项目的实施进程能准确地符合预定目标、进度和预算的,这也就是以说明软件工程管理的重要性。 20. 请说多态重用与继承重用的关系。 多态重用实际上是一种特殊的继承重用,是充分利用多态性机制支持的继承重用。一般来说,使用多态重用方式重用已有的类构件时,在子类中需要重新定义的操作比较少,因此,多态重用方式比继承重用方式成本低。 21. 简述演绎法调试的具体步骤。 演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余下的假设;证明余下的假设。 22. 简述增量模型和瀑布模型的本质区别。 瀑布模型属于整体开发模型,它规定在开始下一个阶

44、段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。 23. 简述设计一个容错系统的步骤。 (1)按设计任务要求进行常会设计,尽量保证设计的正确 (2)对可能出现的错误分类,确定实现容错的范围 (3)按照“成本—效率”最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽 (4)分析或验证上述冗余结构的容错效果 24. 简述在项目开发时,选择程序设计语言应考虑因素。 (1)项目的应用领域;(2)软件开发的方法 (3)软件执行的环境 (4)算法和数据结构的复杂性(5)软件开发人员

45、的知识 25.简述容错技术的四种主要手段,并解释。 1)结构冗余:包括静态冗余、动态冗余和混合冗余。 2)信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 3)时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 4)冗余附加技术:指为实现上述冗余技术所需的资源和技术。 26.以G.J.Myers的观点,简述对软件测试的目的。 软件测试是 (1)为了发现错误而执行程序的过程; (2)一个好的用例能够发现至今尚未发现的错误的测试。 (3)一个成功的测试是发现至今尚未发现的错误的测试。 27.就程序设计语言的工程特性而言,对程序编码有哪些要求? 就程序

46、设计语言的工程特性而言,对程序编码有如下要求: (1)可移植性 (2)开发工具的可利用性  (3)软件的可重用性   (4)可维护性 28.模块的内聚性包括哪些类型? 模块的内聚性包括: (1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚 29.可行性研究报告的主要内容有哪些?   解:一个可行性研究报告的主要内容如下: (1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。 (2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。 (3)对现有系

47、统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。 (4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。 (5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。 (6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人

48、员素质的要求。 (7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 (8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。  [解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。 30.系统设计的内容是什么?  解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。 (1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联

49、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。  (2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。  (3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。  (4)数据存储管理。系统中的内部数

50、据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。  (5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。   如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服