2022年软件工程期末复习.docx
《2022年软件工程期末复习.docx》由会员分享,可在线阅读,更多相关《2022年软件工程期末复习.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 软件工程期末复习名师归纳总结 - - - - - - -第 1 页,共 25 页精选学习资料 - - - - - - - - - 作者:日期:2 名师归纳总结 - - - - - - -第 2 页,共 25 页精选学习资料 - - - - - - - - - 一 基本概念1 简述 1983 年 IEEE 为软件下的定义; 5822926 运算机程序、 方法、规章、相关的文档资料以及在运算机上运行程序时所必需的数据;2 简述软件危机的表现有哪些?以及解决软件危机的途径有哪些?软件危机的主要表现包括:1 软件开发进度难以猜测,开发成本难以掌握,导致
2、超预算、超时;2 产品功能难以满意用户需求;3 软件产品质量无法保证;4 软件缺少适当的文档资料,保护困难;5 软件成本超过硬件成本;6 软件开发生产率的提高速度跟不上运算机应用普及深化的趋势;解决软件危机的途径有:1 治理措施:项目治理、配置治理、过程治理、质量掌握 2 技术措施:开发过程、开发技术与方法和开发工具3 软件工程的定义1993 年 IEEE 给出的定义:软件工程是:系统的、 规范的、 可度量的途径应用于软件开发、运行和保护过程,也就是把工程应用于软件;争论中提到的途径;”软件工程是环绕软件开发的一门交叉学科:4 软件工程的 10 个学问领域软件工程 =运算机科学 +工程学 +治
3、理学软件工程过程 Software Engineering Process 软件工程工具和方法 Software Engineering Tools and Methods 软件需求 Software Requirementl 软件设计 Software Design 软件构造 Software Construction 软件测试 Software Testing 3 名师归纳总结 - - - - - - -第 3 页,共 25 页精选学习资料 - - - - - - - - - 软件保护 Software Maintenance 软件配置治理 Software Configuration m
4、anagement 软件工程治理 Software Engineering management 软件质量 Software Quality 5 软件工程的目标是什么,软件工程的三要素都是什么?软件工程的目标:软件工程必需以有组织的质量保证为基础,进行全面质量治理,不断地过程改进使软件工程方法走向成熟;软件工程的三要素包括:过程、方法和工具过程为准时合理地开发出满意用户需求的运算机软件而进行一系列有组织的活动;过程定义了技术方法的接受、工程产品 包括模型、文档、数据、报告、表格等 的产生、里程碑的建立、质量的保证和变更的治理;方法为软件开发供应“ 如何做” 的技术,它涵盖了项目方案、需求分析、
5、系统设计、程序实现、 测试与保护等一系列的开发活动如何来做;开发方法经受了从面对结构、面对对象、面对组件到面对服务的进展工程;工具为过程和方法供应自动的或半自动的支持;这些软件工具被集成起来,建立起一个支持软件开发的系统,称之为运算机帮助软件工程 Engineering ;6 软件工程的七条基本原理CASE , Computer Aided Software 美国闻名的软件工程专家巴利.玻姆 Barry Boehm提出了软件工程的七条基本原理:1用分阶段的生命周期方案严格治理;2坚持进行阶段评审;3实行严格的产品掌握;4接受现代程序设计技术;5结果应能清晰地审查;6开发小组的人员应少而精;7承
6、认不断改进软件工程实践的必要性;7 简述软件过程的定义,软件过程又可以分为那几个类型?软件过程 Software Procedure 是为获得软件产品,在软件工具支持下由软件工程师完成 的一系列软件工程活动;软件过程可概括为基本过程、支持过程和组织过程等三种类型;其中,基本过程包括:猎取过程、供应过程、开发过程、运作过程和保护过程;支持过程包括:文档编制过程、配置治理过程、质量保证过程、验证过程、确认过程、联合评审过程和 问题解决过程等过程;组织过程包括:治理过程、基础设施过程、改进过程和培训过程;4 名师归纳总结 - - - - - - -第 4 页,共 25 页精选学习资料 - - - -
7、 - - - - - 8 里程碑 Mile Stone 思想阶段工作的目标进行总结、评审、调整和部署下一个里程碑;目的:合理安排, 细化治理 “ 粒度” ,降低项目风险;9 基线思想基线是指一个 或一组 配置项在项目生命周期的不同时间点的一种状态,各阶段有各阶段的基线:需求基线、设计基线、测试基线等;基线一旦建立后变化需要受掌握;10 简述软件生存周期的概念, 说明软件生存周期划分为那几个主要时期?每个时期有包括哪些主要阶段?软件生存周期是指软件产品从定义到开发、使用和保护, 直到最终被弃用的时期,称为生存周期;生存周期的可划分为方案时期、开发时期和运行时期等三个主要时期;其中方案时期包括问题
8、定义和可行性争论两个阶段;开发时期包括需求分析、总体设计、 详细设计和实现等四个阶段;运行时期的又称为运行和保护阶段;11 简述教材中介绍了那些软件开发模型?这些模型各有什么特点?教材中重点介绍了瀑布、原型、增量、螺旋四个传统模型和RUP、XP 两个现代模型;其中, 瀑布模型严格依据生存周期开发软件,每个阶段必需完成规定的、完整、精确的合格文档,前一阶段的输出文档就是后一阶段的输入文档;其主要特点包括:活动间具有次序性和依靠性;推迟实现的观点;质量保证的观点;快速原型模型法是开发人员在一个基本的需求的基础上快速开发出一个软件原型,然后由用户使用和评判原型、开发人员依据用户看法再修改原型,然后再
9、使用评判再修改、直至将原型进化为最终产品;快速原型模型的特点包括: 做出系统原型,及早向用户展现系统要实现的界面及功能,增强用户的合作信心; 直观化的表达,简洁沟通,排除懂得上的歧义; 修改集中在前期的原型确认上,较大程度削减后期实施中的返工; 入手快,加快开发进度;增量模型是一种演化模型,先完成一个系统子集的开发,再按同样的开发步骤增加子集 ,如此递增下去直至满意全部系统需求;每个增量可按快速原型法进行;增量模型的特点包括:无须等待猎取完整需求就可入手,尽快见到成果,增强双方信心; 分步开发, 降低复杂性和难度,削减技术风险, 并可并行开发; 边开发边投入,可及早发觉问题,削减投资风险; 各
10、个子集是逐步并入已有的系统中,加入子集不能破坏已构造好的部分,这需要软件具备开放式的体系结构; 适用于需求不完整的软件开发,指的是需求逐步摸清、逐步完善,并非随便转变,5 名师归纳总结 - - - - - - -第 5 页,共 25 页精选学习资料 - - - - - - - - - 介绍的 XP(极限编程)属于该模型;螺旋模型 Spiral model 是一种融合了瀑布模型、快速原型模型和增量模型的演进模型,并引入风险分析机制;适合大型复杂的系统开发;螺旋模型特点 包括:多种模型结合的一种演进模型,融合了瀑布模型、快速原型和增量模型的全部特点,融进了循环往复、迭代演进的思想; 增加风险分析,
11、一旦风险成立,原方案应终止、修订,力求风险可控 客户始终参加每个阶段的开发 ,每个阶段的成果需客户确认,防止错误的积存;统一过程RUP Rational Unified Process是由 Rational 公司在推出统一建模语言UML后,推出的一个软件开发框架RUP ,称为软件统一开发过程;12 统一过程 RUP 定义了那几个主要阶段?初始阶段 Inception: 主要完成商业需求, 确定项目边界; 里程碑是生命周期目标 Lifecycle Objective ,评判项目基本的生存才能;细化阶段 Elaboration: 主要完成领域问题分析和软件设计;猎取用户需求(功能和非功 能需求),
12、建立需求模型;进一步确立体系结构和设计软件结构等工作;里程碑是生命 周期结构 Lifecycle Architecture ;构造阶段 Construction: 主要完成系统实现、 测试,里程碑是初始功能 Initial Operational ,产品版本常被称为“beta ”版;交付阶段 Transition: 重点是确保软件对最终用户是可用的;里程碑:产品发布 Product Release 13 统一过程 RUP 工作流1 6 个核心过程工作流Core Process Workflows 商业建模 Business Modeling :弄清项目边界和约束,做出方案;需求 Require
13、ments:描述系统应做什么,开发人员和用户达成需求基线;分析和设计 Analysis & Design :将需求转化成运算机可以实现的模型;实现 Implementation :用程序设计语言将设计模型组织成可执行的文件、数据;测试 Test:是发觉软件中的错误,在试验环境下验证全部的需求是否被正确 的实现;部署 Deployment :将软件分发给最终用户,安装在真实的环境下,由用户操 作运行;2 3 个核心支持工作流 Core Supporting Workflows 是对核心过程工作流的配套支持和管 理,保证核心过程工作流顺畅、高效运行;配置和变更治理:工作文档的治理,在版本更新、需求
14、变更中做到各类文档及 时、同步跟踪,保证各文档内容完整、一样;项目治理 Project Management :资源配置、评估监控、风险掌握、方案调整等 治理工作,目的效益最大化;环境 Environment :软件开发环境,包括人员、设备、过程和工具,以及各种 规范、指导手册和保证措施;6 名师归纳总结 - - - - - - -第 6 页,共 25 页精选学习资料 - - - - - - - - - 14 简述 rup 模型中基线与里程碑的概念,二者之间的关系;基线,是软件文档或源码或其它产出物 的一个稳固版本,它是进一步开发的基础,也可以懂得成为一个阶段的起点并已经制定了相应的工作标准,
15、个标准;并且只有经过授权后才能变更这里程碑, 是方案中确定的阶段性工作完成目标,要求提交阶段交付物,作为阶段评估的标准;基线和里程牌的关系:基线是为了建立参照点,是阶段的起点; 里程牌是建立阶段性目标,是阶段终点,最终的里程牌可能是一次迭代的终结;15 简述软件方案的目标和主要工作 . 软件方案的目标:争论项目的可行性,争论合理地运用软件项目开发所需的资源、经费,把握开发进度,掌握项目开发过程按此方案进行;主要工作包括 :确定项目实施范畴、定义递交的工作成果、制定项目实施的时间方案、成本和预算方案、人力资源方案等;评估实施过程中主要的风险、16 软件方案的活动有哪些?这些活动的内容是什么?软件
16、方案主要活动包括:问题定义,可行性争论,项目方案;这些活动的内容是:问题定义:确定项目实施范畴,回答项目“ 做什么?” 的问题;可行性争论:项目的必要性和可能性;制定项目方案:编制项目开发方案;17 简述问题定义的目的和主要任务;问题定义的目的:弄清要运算机解决的根本问题所在要解决的问题是什么?,确定新系统的作用域,以及项目所需的资源、工期和经费;问题定义的主要任务:编写项目报告提交审查,作为可行性分析的依据;18 简述可行性分析的目的、任务和内容;可行性分析的目的:确定项目的必要性和可能性;可行性分析的任务包括:可行性分析;写可行性争论报告;编制开发方案;可行性分析的内容包括:技术、经济和社
17、会三个方面的可行性:7 名师归纳总结 - - - - - - -第 7 页,共 25 页精选学习资料 - - - - - - - - - 19 简述需求分析的目的、必要性和参加角色需求分析的目的是:弄清用户对系统的细节要求,完整、精确、清晰、具体地回答目标系统“ 做什么” ;精确地懂得用户提出的软件功能、性能及其环境的要求;需求分析的必要性:用户与开发者的学问领域不同,产生歧义;软件开发失败 50%是需求不合理,早期错误易放大;参加角色: 开发方包括分析师、设计师和架构师; 用户方包括领域专家、用户和部门负责人;20 需求开发的任务有哪些?需求开发的任务包括需求猎取:收集用户对目标软件系统在功
18、能、性能、行为、设计约束等方面的期望;需求分析: 通过符号和文字说明描述系统模型,使用户和开发者间建立共同语言基础,排除懂得上的歧义的过程;需求说明: 既编写需求文档,也称编写需求规格说明书;需求说明书是需求分析阶段的最终成果, 也是需求分析阶段复审的依据;是用户领域专家、的途径和媒介;是交付给用户文档的一部份;软件分析师、 软件设计师共同沟通需求验证 :即需求评审;依据需求说明书,分析师、设计师、客户会审文档,对需求的正确 性、一样性、完整性、无二义行进行评审、确认;21 需求的层次软件需求包括三个不同的层次:业务需求、用户需求、功能需求,也包括非功能需求;1业务需求 business re
19、quirement 业务需求是反映企业/组织对软件系统的高层次目标要求,即软件系统的建设目标;业务需求通常是“ 问题定义” 或“ 可行性争论” 阶段猎取的内容;在需求规格说明书中反映在项目背景、系统目标或任务概述的描述中;猎取的主要对象是客户方的高管、专家、部门负责人;2用户需求 user requirement 用户需求:用来描述用户使用产品必需要完成的任务;使用业务领域的术语描述,接受开发者与用户都能懂得的语言和图形表达;用户需求是经过调查、归纳后双方认同的结果;猎取的主要对象是部门负责人、软件的操作者或称终端用户;3. 功能需求 functional requirement 功能需求定义
20、了开发人员必需实现的软件功能,结果在需求规格说明书中 ;功能需求用软件行业术语表达: 通常是需求建模的结果即目标系统的规律模型,如结构化的功能模型、数据模型、行为模型,面对对象的类模型等;4. 非功能需求特性是指一些非功能需求,是满意业务需求的性能要求;如界面的交互性、数据的安全性、数据的事务性、用户的并发性、响应的快速性、操作的实时性、错误与反常的复原性、软件的容错性等等;项目的失败或拖延一般不是在功能上,而恰恰倒是在性能要求上,由于这些性能与软件的体系结构有关,与构成系统的网路与硬件环境等底层技术有关,往往超越一8 名师归纳总结 - - - - - - -第 8 页,共 25 页精选学习资
21、料 - - - - - - - - - 般开发人员的技术才能;22 需求猎取的一般方法需求猎取方法以采访、观看、座谈、对从前的系统版本的测试等;必要时接受快速原型法; 先集中在使用者对系统的观点上,以收集用户原始资料,数据、工作方式、工作流程、使用要求等为工作起点,深化到部门、车间、班组,做好原始纪录; 然后依据对问题及环境的懂得与开发体会,改正用户需求的模糊、 歧义和不一样性要求,排除用户的不合理要求,挖掘用户尚未提出但具有价值的潜在需求,使用户需求逐步精确化、一样化和完全化; 需求猎取非一次完成:需要往复进行、逐步深化; 需求猎取的内容:写进“ 需求规格说明书”,确认;23 需求猎取的策略
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 软件工程 期末 复习
限制150内