软件工程第四版复习要点答案(共6页).docx

上传人:飞****2 文档编号:16741679 上传时间:2022-05-18 格式:DOCX 页数:6 大小:24.87KB
返回 下载 相关 举报
软件工程第四版复习要点答案(共6页).docx_第1页
第1页 / 共6页
软件工程第四版复习要点答案(共6页).docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《软件工程第四版复习要点答案(共6页).docx》由会员分享,可在线阅读,更多相关《软件工程第四版复习要点答案(共6页).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上题型:单选、填空、判断、简答、设计题软件是一系列按照特定顺序组织的计算机数据和指令的集合。软件就是程序加文档的集合体(软件=程序+(数据)+文档)软件划分:系统软件应用软件中间件数据库系统软件:操作系统支撑软件第一章1.1.1问题求解分析是把问题分解成可以理解并能够处理的若干小的部分。合成是把小的构造块组合成一个大的结构。任何问题求解技术都必须包括两部分:通过分析问题来确定问题的本质含义,然后,再基于分析来合成解决方案。方法或技术是产生某些结果的形式化过程.工具是用更好的方式完成某件事情的设备或自动化系统。过程如同食谱:把工具和技术结合起来,共同生产特定产品。范型就像

2、烹饪风格,它表示构造软件的特定方法或哲学。每一种范型都有其各自的优缺点。1.1.2明白软件工程和计算机科学的主要作用和区别计算机科学专注于研究计算机硬件以及软件方面的理论、程序设计语言以及计算机的功能,而软件工程专注于把计算机作为问题求解工具和技术。1.2编写软件既是一门艺术也是一门科学,软件工程的目标就是设计和开发高质量软件1.2.1了解故障,错误和失效之间的关系人为错误可能导致故障,故障可能导致失效。错误可以是解释需求时犯的错误,也可以指代码错误,也可以指引起系统崩溃的原因。失效是指系统违背了它应有的行为。1.3.2什么是好的软件软件工程重点宣扬的是过程建模和过程改进能力成熟度模型(CMM

3、)、ISO9000、软件过程改进及能力确定(SPICE)等过程指导原则提出:通过改进软件开发过程,可以提高最终产品的质量1.3.3投资回报ROI【P9】ROI是指通过投资而应返回的价值。通常用回收模型、会计收益率模型和折现值现金流模型。1.6.2软件开发包含的活动【P17】需求分析和定义、系统设计、程序设计、编写程序、单元测试、集成测试、系统测试、系统交付、维护1.8.2原型化设计原型化意味着构建一个系统的小版本,通常只有有限的功能,它可用于:帮助用户或客户标识系统的关键需求;证明设计或方法的可行性1.8.3什么是系统的体系结构,有哪几种划分方法【P22】系统的体系结构是指根据一组体系结构单元

4、以及单元之间的相互关系来描述系统。将系统划分为单元的5种方法:模块化分解:基于指派到模块的功能面向数据的分解:基于外部数据结构面向时间的分解:基于系统必须处理的事件由外到内的设计:基于系统的用户输入面向对象的设计:基于标识的对象的类以及他们之间的相互关系第二章2.1软件开发包括的阶段【P33】可行性分析、系统设计、程序设计、编写程序、单元测试、集成测试、系统测试、系统交付、维护。2.2.1瀑布模型(阶段、任务、主要缺陷、造成缺陷的原因)重点【P34】瀑布模型:根据软件生存周期模型各个阶段的任务,从可行性研究开始,经过需求分析、概要设计、详细设计、编码和调试、单元测试、组装测试各个阶段的转变、直

5、到确认测试并得到用户确定的软件产品为止。瀑布模型的特点:1、阶段间具有顺序性和依赖性。2、推迟实现的观点。3、每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误。瀑布模型的缺点:1、实际的项目很少按照该模型给出的顺序进行;2、用户常常难以清楚地给出所有需求。3、在软件开发初期指明软件系统的全部需求是困难的,甚至不现实。4、需求确定后,用户和项目负责人要等相当长的时间才能得到项目初期版本。造成缺陷的原因是:没有把软件看做一个问题求解的过程。2.2.3原型化模型(抛弃型、继承型、原型的作用)【P37】原型化模型本身也是一种有效地过程模型的基础。它允许开发人员快速构造整个系统或系统

6、的一部分以理解或澄清问题,需要对需求或设计进行反复调查,以确保开发人员、用户和客户对需要什么和提交什么有一个共同的理解。总体目标为减少开发中的风险和不确定性。(原型需求-原型测试-原型系统-测试)。2.2.6阶段化开发:增量和迭代【P39】运行系统/产品系统是当前正在被客户和用户使用的系统,开发系统是准备用来替换先行产品系统的下一个版本。使用阶段化开发设计系统时使其能够一部分一部分地交付,从而在系统还未开发完全时,用户已经获得了一部分功能。增量开发:需求文档指定的系统按功能划分为子系统,定义发布时首先定义一个小的功能子系统,然后在每一个新的发布中增加新功能。迭代开发:一开始提交一个完整的系统,

7、然后在每一个新的发布中改变每个子系统的功能。2.2.8敏捷方法(特点、好处)【P41】敏捷方法强调灵活性在快速且有效地生产软件中所发挥的作用。敏捷方法的四个特点:更强调个人和交互的价值、更喜欢在生产运行的软件上花时间、精力集中在与客户的合作上、专注于对变化的反应。好处:目标是“尽可能早地、持续地对有价值软件的交付”,让用户能够在开发周期的后期增加或改变需求。具体方法有:极限编程;水晶法;并列争球法;自适应软件开发。第三章3.1活动的概念以及里程碑的概念,区分两者。【P59】活动是项目的一部分,它在一段时间内发生;而里程碑是活动的完成某一特定的时刻。活动的真实时间或实际时间是估算的完成此活动必须

8、的时间量。可用时间是完成活动可用的时间量。关键路径【P63】关键路径是一条每个节点的时差都为零的路径,它决定了这个项目是否按进度完成。甘特图【P65】3.4风险【P84】风险是一种具有负面后果的、人们不希望发生的事件。3.6挣值【P91】挣值被用作比较不同活动进展的常用策略:它是比较活动的一种方案,根据每一个活动确定项目完成了多少。挣值的计算包括:相对于总的工作量,每一步在整个过程中所占的百分比权重。第四章4.1需求是什么?需求过程包含哪些活动?图4-1获取需求的过程【P102】需求就是对期望的行为的表达。需求工程的主要内容:1、 需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,

9、从而开发、捕获和修订用户的需求。2、 需求建模:为最终用户所看到的系统建立一个概念模型,作为需求的抽象描述,并尽可能多的捕获现实世界的语义。3、 形成需求规格:生成需求模型构建的精确的形式化描述,作为用户和开发者之间的一个协约。4、 需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性。5、 需求管理:支持系统的需求演进、如需求变化和可跟踪性问题。4.5UML建模 面向对象 用例图 时序图 活动图 状态图 类图【P112】4.5.8数据流图(必考)【P121】4.5.9用例图4.5.11判定表(概念 逻辑)4.5.12Parnas表【P124】4.7

10、抛弃型原型 演化型原型【P135】抛弃型原型:为了对问题或者提议的解决方案有更多的了解而开发的软件,永远不会作为交付软件的一部分。快速但不考虑质量,有时甚至可能只是一个门面,帮助我们迅速抓住面临的问题或提议的解决方法的核心。演化型原型:不仅帮助我们回答问题,而且还要演变为最终的产品。这两种都是快速原型化。第五章5.4什么是P2P什么是CIS,二者之间的区别和联系5.4.1管道和过滤器【P163】管道和过滤器系统中的构件都有数据流作为其输入和输出,称为管道,通常,数据从输入到输出的转换是在称为过滤器的构件之前开始的,过滤器读入输入流后转换结束。缺点:鼓励使用批处理的方式,因而不善于处理交互式的应

11、用;当两个数据流相关是,系统必须维护它们之间的对应关系。第六章6.2.1耦合度【P208】当两个构件之间有大量依赖关系的时候,我们就说这两个构件是高度耦合的。松散耦合的构件之间具有某种程度的依赖性,但是它们之间的相互连接比较弱。非耦合的构件之间没有任何相互连接,它们之间是完全独立的。构件之间的耦合度取决于:一个构件引用另一个构件;一个构件传递给另一个构件的数据量;某个构件控制其他构件的数量;构件之间接口的复杂程度。耦合度的测量范围:非耦合,数据耦合,标记耦合,控制耦合,公共耦合,内容耦合。内聚度【P210】内聚度是指构成构件的内部“粘合”程度。内聚度越高,构件内部的各部分相互之间的相互联系就越

12、紧密,与总体目标就越相关。内聚的类型:巧合内聚,逻辑内聚,时态内聚,过程内聚,通信内聚,顺序内聚,功能内聚。图6-19类的关系类型【P232】图6-25Account类的状态图一直到图6-28Inventory操作的活动图【P238-P239】第七章不考 但要看7.3节【P276】第八章测试程序(重点)8.2.1模块测试/构件测试/单元测试,集成测试【P291】模块测试/构件测试/单元测试:将每个程序构件与系统中其他构件隔离,对其本身进行测试。集成测试:验证系统构件是否能够按照系统和程序设计规格说明中描述的那样共同工作的过程。图8-3测试步骤以及各个步骤的测试对象【P292】单元测试:构件代码

13、测试的构件;集成测试:设计规格说明集成的模块;功能测试:系统功能需求运行的系统;性能测试:其他软件序曲验证、确认的软件;验收测试:客户需求规格说明接收的系统;安装测试:用户环境使用中的系统。8.2.4测试对象的视图【P293】黑盒或闭盒:测试对象的功能开盒或白盒:测试对象的结构8.3.1表8-3发现活动包括什么【P297】需求评审、设计评审、代码审查、集成测试、验收测试8.3.3测试的完全性【P303】8.3.4故障发现发现技术包括什么【P304】原型化、需求评审、设计评审、代码审查、单元测试8.4集成测试(回归测试也要看)测试的方法、什么是等价类划分【P305】8.8.1故障播种【P317】

14、第十一章11.1.1S系统、P系统、E系统【P385-P386】S系统是由规格说明形式化定义的,并且是由规格说明导出的。在S系统中,特定问题是由它应用的整个环境来规定的。它是静态的,不容易适应问题中产生的变化,常用来定义抽象的问题。P系统首先要抽象地描述问题,然后根据抽象描述编写系统的需求规格说明。E系统是融入在现实世界中的系统,并随着现实世界的变化而改变。11.4.2环路数目 求图的线性无关路径数目:e-n+2【P399】11.6软件再生通过设法提高现有系统的总体质量来应对这种维护挑战。软件再生要考虑:文档重构、重组、逆向工程、再工程(要了解这些名词的概念)【P407】当对一个系统进行文档重

15、构时,我们对源代码进行静态分析,给出更多的信息,以帮助维护人员理解和引用代码。静态分析不对实际的代码进行任何转换,仅仅是导出信息。但是,重组通过将结构不好的代码转换为结构良好的代码,真正地改变了代码。这两种技术都仅仅集中于源代码。对一个系统进行逆向工程,是指从源代码返回到它之前的产品,根据代码重新创建设计和规格说明信息。再进一步就是再工程,它是指首先对现有系统进行逆向工程,接着再对其进行“正向工程”,改变规格说明和设计以完成逻辑模型。第十三章13.3.1过程和能力成熟度【P465】往年提纲参考1. 说明软件测试和调试的目的有何区别?2. 简述如何得到目标系统的逻辑模型?3. 压力(强度)测试有

16、何作用?它适应于哪类系统? 4. 什么是“净室软件开发方法”?它有哪些关键特性? 5. “软件工程”这一概念是什么时候首次提出的?它是如何定义的? 6. 软件设计过程包括哪些基本的活动?7. 需求工程过程有哪四个主要阶段?8. 学会如何画出程序流程图对应的流图,如何计算其环路复杂度V(G)。 9. 面向对象开发的几个过程10. CMMI全称CMMI:即能力成熟度模型集成,是一种过程改进的方法,为组织机构提供了有效过程的基本元素。它可以用于指导跨项目、部门或者整个住址的过程改进。CMMI等级:1、 初始级:软件过程是无序的,对过程几乎没有定义。管理是反应式的。2、 可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。3、 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。4、 量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解和控制。5、 优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁