2022年软件工程重点归纳.docx

上传人:H****o 文档编号:58293096 上传时间:2022-11-07 格式:DOCX 页数:27 大小:596.82KB
返回 下载 相关 举报
2022年软件工程重点归纳.docx_第1页
第1页 / 共27页
2022年软件工程重点归纳.docx_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《2022年软件工程重点归纳.docx》由会员分享,可在线阅读,更多相关《2022年软件工程重点归纳.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 细心整理 欢迎下载第一章 什么是软件?软件是一系列依据特定次序组织的运算机数据和指令的集合,包 括程序、数据和文档;什么是软件危机?软件危机泛指在运算机软件的开发和保护过程中所遇到的一系 列严峻问题;例如开发成本预估不足、进度比方案拖延、没有文档、用户不中意等等;什么是软件工程?软件工程主要讨论软件生产的客观规律性,建立与系统化软件生产有关的概念、原就、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 件生产率水平的目标;软件工程的目标:软件工程的目标是在给定成本、改进软件产品质量、提高软进度的前提下, 开发出具有适用性

2、、有效性、可修改性、牢靠性、可懂得性、可保护性、可重用性、可移植性、可追踪性、可互操作性和满意用户需求的软件产品;软件工程方法学包含3 个要素: 方法、工具和过程;软件开发方法的定义:是指产生某些结果的形式化过程 好的软件的一些主要衡量指标:三种方式考虑质量:产品的质量名师归纳总结 - - - - - - -第 1 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载过程的质量商业环境背景下产品的质量McCall 的质量模型;:效率、正确性、牢靠性、完整性、互联性、敏捷性、可使用性、名师归纳总结 可保护性、可测试性、可移植性、可复用性;第 2 页,共 20 页-

3、 - - - - - -精选学习资料 - - - - - - - - - 细心整理 欢迎下载其次章什么是软件生命周期?软件有一个孕育、产生、成长、成熟、衰亡的生存过程;这个过程即为运算机软件的生存期; 当过程是在开发软件产品时, 把这种软件开发过程称为软件生命周期;主要分为哪些阶段? 1 问题定义2 可行性讨论与方案 3 需求分析 4 总体设计 5 具体设计 6 实现 7 集成测试 8 确认测试 9 使用和保护 10 退役需求分析的定义 : 需求分析用于确定用户对待开发软件系统的需求,包括:软件的功能、软件的性能和软件的运行环境约束;名师归纳总结 - - - - - - -第 3 页,共 20

4、 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载典型的软件开发过程模型的特点(优缺点)及要求:1、瀑布模型: P35 特点:一个开发阶段必需在另一个开发阶段开头之前完成,它从一种特别高层的角度描述了开发过程中进行的活动,并且提出了要求 开发人员经过的大事序列;优点:有助于帮忙开发人员布置他们需要做的工作,它的简洁性使得开发人员很简洁向不熟识软件开发的客户做出说明;它明确说 明,为了开头下一阶段的开发,哪些中间产品是必需的;缺点: 1、最大的问题是不能反映实际的代码开发方式; 2 、在系统开发之上强加了一种项目治理结构; 3 、对于处理开发过程中可能显现的产品和活动变化,

5、没有供应相关指导;4、没有把软件开发看作一个问题求解的过程;5、没有说明创建最终产品过程中所需的来回活动的任何 特有信息;2、V模型 特点: V 模型是瀑布模型的变种,它说明测试活动是如何与分析 和设计相联系的;编码在顶点,分析和设计在左边,测试和保护在右 边;V模型关注的是活动和正确性;优点:使得隐匿在瀑布模型中的迭代和重做活动更加明确;名师归纳总结 - - - - - - -第 4 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载3、原型化模型 P37 特点:原型化模型答应开发人员快速构造整个系统或系统的一 部分以懂得和澄清问题; 它需要对需求或设计进行

6、反复调查以确保开 发人员、用户和客户对需要什么和提交什么有一个共同懂得;优点: 1、有助于开发人员评判可选的设计策略以及打算对于特 定项目哪一种策略是最好的; 2、对于验证和确认很有用; 3、削减开发中的风险和不确定性;缺点:1、 为了使原型尽快的工作,没有考虑软件的总体质量和 长期的可保护性; 2、 为了演示,可能采纳不合适的操作系统、编程语言、效率低的算法,这些不抱负的挑选成了系统的组成部 分; 3、 开发过程不便于治理;分类:探究型原型、试验型原型和演化型;4、增量和迭代( P39)增量开发: 需求文档中指定的系统按功能划分为子系统,每次新 的发布增加新功能;迭代开发:一开头提交完整系统

7、,供应基本功能,每次新的发布 对功能进行完善;增量和迭代: 2 种结合起来;名师归纳总结 - - - - - - -第 5 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载特点:系统其余部分仍在开发的同时,能,产品系统和开发系统并行运行;用户已经获得了一部分功优点: 1、缩短循环周期,使系统可以一部分一部分交付; 2、开发人员能够通过观看某些功能如何执行,从而很好 对用户的反馈做出反应; 3 、可以及早为那些以前从未供应的功能开拓市场; 4 、常常性发布能够全面快速修复运行系统显现的问题; 5 、针对不同版本,开发团队可以将重点放在不同的专业 领域技术上;极

8、限编程的特点:沟通: 保持客户和开发者的交换看法 简洁性 : 挑选简洁设计和实现名师归纳总结 士气: 尽早并常常性交付功能 敢于承诺并信守诺言 循环第 6 页,共 20 页反馈: 开发过程中各种活动- - - - - - -精选学习资料 - - - - - - - - - 细心整理 欢迎下载第三章明白项目方案和治理的主要内容和常用的方法;主要内容:1、跟踪项目进展: A 工作分解和活动图说明要干什么 B 估算完成时间 (用到了 CPM即关键路径法、 CPM条状图) C 跟踪进展的工具:对项目进展进行跟踪(甘特图) 2 、项目人员:需要多少人、执行什么任务、需要什么才能体会 A 人员角色和特性

9、B 工作风格 C 项目组织(主程序员负责制组、忘我方法) 3 、工作量估算:尽早明白项目可能成本 A 专家判定:依靠个人体会和才能,比如比较 2 个系统 B 算法方法:表示工作量和影响工作量因素之间的运算模型 C 机器学习 D 挑选合适的模型 方法: a )代码行技术:每行代码成本 x 总代码行 b 任务分解技术:每项任务成本之和名师归纳总结 c 自动估算成本技术:软件运算第 7 页,共 20 页 4 、风险治理:对于开发保护过程中可能显现的不受欢迎的事,- - - - - - -精选学习资料 - - - - - - - - - 细心整理 欢迎下载制定方案尽量防止, 假如不行防止, 就将负面后

10、果减小到最小; 5 、项目方案:包含客户的需要和我们期望做什么来满意需要; 6 、过程模型和项目治理:对治理技术进行剪裁,使技术能适应所需要的资源、选取的过程和安排人员的特性;软件可行性讨论的内容:技术可行性、经济可行性、操作可行性、社会可行性名师归纳总结 - - - - - - -第 8 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载第四章需求的重要性: 1 、引起项目失败的首要缘由中几乎全部都涉及需求过程的某些 部分; 2 、假如开发过程的早期没有检测并修复需求错误,那么会造成 很高的代价需求的类型: 1 、功能需求 : 依据要求的活动来描述需要的行为

11、; 2 、非功能需求或质量需求:描述一些软件解决方案必需拥有的 质量特性 3 、设计约束:已经做出的设计决策或限制问题解决方案集的设 计决策 4 、过程约束:是对用于构建系统的技术和资源的限制;两种需求文档: 需求定义文档和需求规格说明书;需求定义文档: 客户想要的每一件事情的完整列表;该文档通过描述准备构建的系统将要安装的环境中的实体,约束、监控和转换来表达需求;以及关于这些实体的需求规格说明: 将需求重新陈述为关于要构建的系统将如何运转 的规格说明;名师归纳总结 - - - - - - -第 9 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载区分: 1

12、、需求定义面对的是业务相关人员,如托付人、客户 和用户;需求规格说明面对的是技术性人员;2、需求规格说明仅仅提及通过其接口到系统是可拜访 的环境实体,需求定义可以处于环境域的任何地方;需求规格说明书的主要内容; a 具体描述输入和输出 b 依据接口的输入输出重新陈述要求的功能 c 对用户的质量需求,设计适配标准类图: 描述了对象类型和他们之间的静态关系;对象图:对象图是类图的实例, 用来表示类图的类的对象在系统运行 过程中某一时刻的状态;构件图:表示构件的组织和他们之间的关系,通过这些依靠关系来估计对系统构件的修改给系统可能带来的影响;包图:呈现了不同包中的类之间的依靠关系;用例图:依据系统和

13、系统之间的交互,描述可观看到的、用户发起的 功能;次序图:呈现了活动或行为发生的次序;通信图:描述了对象之间的消息次序;状态图:呈现了对象可能具备的状态、触发状态转变的大事、以及每 次状态转变导致的动作;名师归纳总结 - - - - - - -第 10 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载活动图:为类中的过程流或活动流建模;用例图的作用 a 描述和打算系统的功能需求,帮忙客户和软件开发人员形成 一样看法; b 给出系统应当做什么且与内容一样的可视化描述,使之成为 在开发全过 程中研讨系统需求和进行系统设计的依据; c 在软件测试阶段作为系统测试的

14、基础;建立系统实现的各个 统操作与功能需求之间的可追踪关系;对象类和系用例图的三个组成部分:执行者、系统边界和用例;第五章概要设计的主要内容: 1 、告知客户系统将要做什么 A 数据来自哪里 B 系统中的数据会发生什么情形 C 对用户来说,系统将会是什么 D 向用户供应的挑选是什么 E 大事的计时是什么名师归纳总结 - - - - - - -第 11 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载 F 报表和屏幕是什么样的2、优秀的概念设计特性 A 客户语言 B 不包含技术行话 C 描述系统功能 D 与实现无关 E 与需求文档链接起来技术设计的内容告知变成

15、这系统将做什么 1 、对主要硬件部分及其功能的描述 2 、软件构件的层次和功能 3 、数据结构 4 、数据流好的设计的衡量: 内聚和耦合;内聚 :假如构件的全部元素都是直接面对执行同一个任务的并且必需的,那么该构件是内聚的内聚的类型 :巧合内聚、规律内聚、时态内聚、过程内聚、通信内聚、功能内聚、信息内聚;(低到高)耦合:高度耦合:当两个构件之间有大量依靠关系的时候名师归纳总结 - - - - - - -第 12 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载松散耦合: 当两个构件具有某种程度的依靠,连接比较弱 非耦合:构件之间不存在相互连接构件间的耦合度取

16、决于:构件的引用 构件间传递的数据量 构件掌握其他构件的数量 构件之间接口的复杂程度 耦合的类型:(高到低)内容耦合 公共耦合 掌握耦合 标记耦合 数据耦合但他们之间的相互名师归纳总结 - - - - - - -第 13 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载第七章编程程序过程中应遵循肯定的标准和过程:对单个开发人员的标准:有助于帮忙自己组织自己的想法并且避 免犯错误,有助于将设计转化为代码;具体如编写文档的方法、按标 准组织代码等等;对其他开发人员的标准:按格式编写代码以及编写代码文档,使 他人易于懂得它做什么以及如何工作;设计和实现的匹配:最关

17、键的标准是需要在程序设计构件之间建 立直接的对应关系;保持设计和代码的一样性;如低耦合、高内聚、定义明确的接口这样的特性,也应当是程序的特性;明白一些编程指导原就:掌握结构:使程序简洁阅读 依据模块化的块来构建程序 不要让代码太过特别,也不要太过一般 用参数名和注释来呈现构件之间的耦合度 构件之间的关系必需是可见的名师归纳总结 - - - - - - -第 14 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载算法:留意性能和效率,但不应当忽视代码更快运行可能相伴 的一些隐匿代价,不要牺牲代码的清楚性和正确性来换取速度;数据结构 :保持程序简洁 用数据结构来

18、打算程序结构 通用性指导原就 局部化输入和输出 包含伪代码 改正和重写,而不是打补丁 复用 生产者复用 : 在设计的构件要在以后的应用中进行复用 消费者复用 : 正在使用的构件是原先为其他项目开发的构件 留意实现容错技术的主要手段是:冗余 冗余通常分为四类 : 1 结构冗余; 2 信息冗余 3 时间冗余( 4)冗余附加技术;软件中的注释主要分为:序言性注释和功能性注释两种;第八九章测试的目标: 通过测试发觉故障和错误 测试的衡量标准: 只有当发觉了错误时,测试才被认为是胜利的 测试的分类(或组织):名师归纳总结 - - - - - - -第 15 页,共 20 页精选学习资料 - - - -

19、- - - - - 细心整理 欢迎下载1、单元测试:将每个程序构件与系统中其他构件隔离,对其本 身进行测试;他们验证,针对设计预期的输入类型,构件能否适当地 运行; 2 、集成测试:确保构件之间的接口的正确定义和处理;验证系 统构件是否能够依据系统和程序设计规格说明中描述的那样共同工 作的过程; 3 、功能测试:确保具有期望的功能;对系统进行评估,以确定(将正在构 集成的系统是否的确执行了需求规格说明中描述的功能;建的系统与开发人员的需求规格说明进行比较) 4 、性能测试:将系统与这些软件和硬件需求的剩余部分进行比 较,确定系统是依据对系统描述的懂得运行的; 5 、验收测试:确定系统是依据客户

20、期望运转的,依据用户的需 求描述对系统进行检查; 6 、安装测试:验收的系统安装在将要使用的环境中,安装测试 确保系统将依据他应当的方式进行;黑盒测试:将测试对象看作一个不明白其内容的黑盒,通过向黑盒供应输入数据,得到输出,并且观看输出和预期输出是否匹配;优点:黑盒测试免于受强加给测试对象内部结构和规律的约束;缺点:不行能总是进行完备的测试名师归纳总结 - - - - - - -第 16 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载白盒测试:将测试对象看成一个透亮的盒子, 依据测试对象的结构用不同的 方法进行测试;缺点:有时候有太多的路径,测试显得不切实

21、际;可以通过只检 查少量的相关情形来表达整个的可能性;单元测试的主要内容:检查代码 证明代码正确性 测试程序构件集成测试的类型及主要的测试策略 自底向上集成 :通过合并构建来测试较大型系统的流行方法称为 自底向上测试;每一个处于系统层次中最底层的构件先被单独测试,然后测试调用了最底层构件的构件,以此类推;(优点:面对对象很有用 缺点:但顶层最重要却最迟测试,简洁引起让故障发觉推迟等 问题;)自顶向下集成 :顶层构件先进行独立测试, 然后与他调用的构件 组合起来测试, 以此类推; 正在测试的构件可能会调用仍没有经过测 试的其他构件,因此我们需要编写一个桩来帮助;(优点:可以依据被检查的功能来定义

22、测试用例、主要问题可以 被尽早发觉和处理;名师归纳总结 - - - - - - -第 17 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载缺点:可能需要大量的桩而桩的编写有可能会比较困难)改进后的自顶向下集成:在合并测试构件以前, 先单独测试低一层的每个构件;(防止了大量桩的问题,但对每个构件,既需要桩,又需要驱动程序,从而导致更多编码和潜在问题)一次性集成: 全部构件分别测试, 再将它们合在一起作为最终系 统进行测试,看能否一次运行胜利;适用于小型系统;但实际上都不举荐使用;缺点:需要驱动程序和桩、很难发觉失效缘由、很难把接口故障 与其他类型的故障区分开

23、来;三明治集成:将自顶向下和自底向上结合起来; 将系统看成三层,目标层在中间, 目标层上一层使用自顶向下, 目标层下一层使用自底 向上,测试集中在目标层;集合了自底向上和自顶向下的优点;缺点:没有单独完全的测试构件;改进后的三明治集成:先单独测构件;确认测试(系统测试)的主要内容:分为 4 个步骤:功能测试:确保具有期望的功能;对系统进行评估,以确定集成 的系统是否的确执行了需求规格说明中描述的功能;从现在起进行闭盒测试;性能测试:将系统与这些软件和硬件需求的剩余部分进行比较,名师归纳总结 - - - - - - -第 18 页,共 20 页精选学习资料 - - - - - - - - - 细

24、心整理 欢迎下载确定系统是依据对系统描述的懂得运行的;牢靠性、可用性、可保护性;验收测试: 确定系统是依据客户期望运转的,依据用户的需求描述对系统进行检查;基准测试、试验性测试、并行测 试;安装测试: 验收的系统安装在将要使用的环境中,安装测试确保 系统将依据他应当的方式进行;明白测试方案的主要内容;测试方案描述我们将以何种方式向用户证明软件运转正确; a 构建测试目标 b 设计测试用例:胜利测试的关键 c 编写测试用例 d 测试测试用例 e 执行测试 f 评估测试结果;第十一章保护活动的类型:改正性保护:保护对日常的系统功能的掌握,对故障 立刻作出反应 适应性保护: 保护对系统修改的掌握;

25、系统的一部分转变时,实现对系统其他部分所要求的转变名师归纳总结 - - - - - - -第 19 页,共 20 页精选学习资料 - - - - - - - - - 细心整理 欢迎下载完善性保护:完善现有系统;对系统某些方面进行改进而做 出的转变;预防性保护:防止系统性能下降到不行接受的程度;转变系 统某些方面,以预防失效发生;软件再生:文档重构: 对源代码进行静态分析以产生系统文档,它不对代码 作出转变,只是导出信息;帮忙保护人员懂得和引用代码;重组:将结构不好的代码转换为结构良好的代码,使它变得易于 懂得和转变;逆向工程 : 从源代码返回到它之前的产品,依据代码重新创建设 计和规格说明信息;再工程:它是逆向工程的扩展; 再工程在不转变整个系统功能的 前提下,生产新的软件源代码;名师归纳总结 - - - - - - -第 20 页,共 20 页

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

当前位置:首页 > 技术资料 > 技术总结

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

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