2022年软件工程复习要点.docx

上传人:H****o 文档编号:57865219 上传时间:2022-11-06 格式:DOCX 页数:7 大小:58.12KB
返回 下载 相关 举报
2022年软件工程复习要点.docx_第1页
第1页 / 共7页
2022年软件工程复习要点.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

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

1、精选学习资料 - - - - - - - - - 学习好资料 欢迎下载1、软件 是运算机程序、规程以及运行运算机系统可能需要的相关文档和数据;软件程序规程文档数据2、软件的特性 :软件是复杂的、软件是不行见的、软件是不断变化的、软件质量难以稳固;3、软件的质量特性 :功能性、牢靠性、易用性、效率、保护性、可移植性;4、软件工程 是为了经济地获得牢靠的且能在实际机器上高效运行的软件而确立和使用的完善的工程原理;5、软件工程以关注软件质量为目标,包括过程、方法和工具三个要素;6、软件危机 是指在运算机软件的开发和保护过程中所遇到的一系列严峻问题;7、软件工程学问体系 :1软件需求 :需求是真实世界

2、问题而必需展现的特性;2软件设计 :定义一个系统或组件的体系结构、组件、接口和其他特点的过程;3软件构造 :指通过编码、验证、单元测试、集成测试和排错的组合,具体创建一个可以工作的、有意义的软件;4 软件测试 :在有限测试用例集合上,依据期望的行为,对程序进行的动态验证;5软件保护 :在软件运行过程中,对可能显现的反常,运行环境的转变,作出处理,以保证软件正常运行;6软件配置治理 :为了系统地掌握配置的变更和保护在整个系统生命周期中的完整性和可追踪性,而标志软件在时间上不同点的配置的学科;7软件工程治理 :处理软件工程的治理与度量,虽然度量是全部学问域的一个重要方面,但是这里涉及的是度量程序的

3、专题;8软件工程过程 :涉及软件工程过程本身的定义、实现、评定、度量、治理、变更和改进;9软件工程工具和方法 ;10软件质量 ;8、软件过程 是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动;9、软件过程的目标 :标准化、预见性、生产率、高质量、方案进度和预算的才能;10、瀑布模型特点 :阶段间具有次序性和依靠性;采纳推迟实现的观点;质量保证的观点;瀑布模型适用 :在开发的早期阶段软件需求被完整确定瀑布模型缺点 : 在项目各阶段之间极少有反馈;只有在项目后期才能看到结果;过多的强制性里程碑缺少弹性;11、增量模型 :也称渐增模型,融合了瀑布模型的基本成分(重复应用)和

4、原型实现的迭代特点,该模型采纳随着日程时间的进展而交叉的线性序列,每一个线性序列产生软件的一个可发布的“ 增量”;增量模型与原型实现模型比较:本质上都是迭代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品;早期的增量是最终产品的 “可拆卸 ”版本,但供应了为用户服务的功能,并且为用户供应了评估的平台;增量模型优点 :人员安排敏捷;刚开头不用投入大量人力资源;可先发布部分功能给客户,对客户起到冷静剂的作用;增量能够有方案地治理技术风险;增量模型缺点 :需要软件具备开放式的体系结构;简洁退化为边做边改模型,从而使软件过程的掌握失去整体性;增加系统内部的耦合复杂性;12、螺旋模型与增量

5、模型的区分:(1)两者迭代层级不同 :增量模型在活动级迭代;螺旋模型在过程级迭代;(2)两者需求分析的时间不同 :增量模型常常是先做总体需求分析和设计,然后在编码和测试中逐个增量开发;螺旋模型在开发周期内采纳简化瀑布模型或快速模型; 3两者提交软件的方式不同:增量开发在上次增量的基础上提交新的一部分软件;螺旋模型每次迭代都提交一个新的完整的软件版本;4两者削减风险的方式不同:增量开发防止使用未成熟技术和常常的客户反馈等方法削减风险;螺旋模型中直接加进风险识别,风险分析、风险掌握,方案性较强 . 13、软件需求定义 : IEEE 的软件工程标准词汇表中将需求定义为:1用户解决问题或达到目标所需的

6、条件或才能;2系统或系统部件要满意合同、标准、规范或其它正式规定文档所需具有的条件或才能;的文档说明;3一种反映上面 1或 2所描述的条件或才能14、业务需求 反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范畴文档中予以说明;15、用户需求 描述了用户使用产品必需要完成的任务,这在用例 用户需求的描述 :(1)原就 :易于用户的懂得;自然语言use case文档或方案脚本 scenario说明中予以说明;+直观图形;(2)问题 :自然语言表达简洁模糊和不精确;16、功能需求 定义了开发人员必需实现的软件功能,使得用户能完成他们的任务,从而满意业务需求;17、非功能需求 定义

7、产品必需遵从的标准、 规范和合约; 外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性;18、软件需求分析的困难 :(1)需求变更缘由 -客户方:对信息系统的明白不够;对业务需求表达不清;对自身业务抽象程度名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 学习好资料 欢迎下载不够;对需求重视程度不够;与开发人员协作不够;业务范畴不断拓展;业务流程不断变更;治理模式不断创新;(2)需求变 更缘由 软件人员:沟通技巧不高;需求工程技术不精;需求人员学问储备不够;不明白客户方的业务流程;调研范畴不确定;需求不够细致、明确;项目治

8、理不规范;需求描述存在歧义;合同对客户方约束不够;19、需求工程 是指应用已证明有效的技术、方法进行需求分析,确定客户需求,帮忙分析人员懂得问题并定义目标系统的全部 外部特点的一门学科;:一类属于需求开发,另一类属于需求治理;需求工程的活动可分为两大类 20、用例 是从系统的外部对系统进行黑盒视图描述的一种组织方法;用例是抽象使用系统的一种方式,用户通过用例与系统交互;用例图主要的作用有三个:猎取需求;指导测试;在其它环节中起指导作用;RUP:用例实现是系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果,一个用例定义一组用例实例;用例要点 :价值结果 有意义的目标;系统执行价值结果

9、由系统生成;执行者可见业务语言,用户观点;一组用例实例 用例的粒度;用例粒度原就 :用例要有路径,路径要有步骤;而这一切都是可观测的;建立用例模型的参考原就:用例是短文;用例可以是一个场景,包括动作和交互;用例可以是一组场景,描述不同场景下 的行为;用例里不要有系统设计;用例里不要有界面设计;用例里不要有测试;用例应当描述行为需求;用例的主场景最好不 要超过 9 步;用例的最大价值不在于主场景,而在于备选行为;用例建模的步骤 :确定系统的范畴和边界 ;确定执行者; 确定用例; 对用例进行描述; 定义用例之间的关系; 审核用例模型;用例是文档,而非制图!用例文档 :用例编号;用例名称;用例描述;

10、参加者;前置条件(胜利执行的先决条件);后置条件(用例胜利完成后 的系统状态);基本路径 /主大事流;扩展点 /反常大事流 /分支大事流;补充说明;21、Actor:系统外 -必需与系统交互;系统边界-直接和系统交互;有意义交互-属于目标系统的责任;任何事物-人、外部系统、外部因素、时间;22、包含关系 :用例 A 的行为包含了用例B 的行为;用例 B 描述在多个用例中都有的公共行为;扩展关系 :扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中;在以下几种情形下,可使用扩展用例:a.说明用例的某一部分是可选的系统行为;b.说明只在特定条件(如例外

11、条件)下才执 行的分支流;泛化关系 :A 指向 B,表示 A 是 B 的一种;23、描述包含关系 :应在基本用例的行为序列中定义要插入包含用例的位置;要定义该位置,可以引用基本用例大事流中的特 定步骤或分支流;24、次序图 描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象间传递消息的时间次序;次序图将交互关系表示为一个二维图;纵向是时间轴,时间沿竖线向下延长;横向轴代表了在协作中各独立角色;角色用 生命线表示;当角色对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线;25、活动图 阐明白业务用例实现的工作流程,由一系列活动组成,它们共同为业务主角完

12、成某些工作;工作流程活动图 用于讨论实现业务目标时所要执行的各项任务或活动的次序支配;活动既可以是手动执行的任务,也可以 是自动执行的任务;它可完成一个工作单元;26、状态图 用于显示对外部大事做出响应的状态序列,使对象达到这些状态的大事和条件、以及达到这些状态时所发生的操作;状态图由状态组成,各状态由转移链接在一起;27、数据流图的问题 :数据流图描述了一个系统的主要处理规律,所存取的数据文件或数据库及其输入和输出的关系;但不能 反映系统的具体细节;28、数据字典 :关于数据的信息的集合,也是对数据流图中包含的全部元素的定义的集合;数据字典作用 :统肯定义,便于通讯,便于共享名师归纳总结 -

13、 - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - 学习好资料欢迎下载掌握类 :表示系统在29、分析类的类型 :实体类 :表示系统储备和治理的永久信息;边界类 :表示参加者与系统之间的交互;运行过程中的业务掌握规律;30、类间关系类型 :1、泛化 (Generalization)类间的 “ 一般与特殊关系 ”,即继承关系; 2、关联 (Association)关联是一种结构化的关系,指明一种对象和另一种对象之间的联系:1关联的重数、 2 关联的角色、 3 限定关联、 4 关联类、 5 聚合(Aggregation)、6 组合( Composition

14、);3、依靠 (Dependency)描述的是两个模型元素 类、组合、用例等 之间的语义上的连接关系; 4、实现 (Realization)是用来规定接口和实现接口的类或者组件之间的关系;31、总体设计 也称为概要设计,或初步设计,用于挑选合适的解决方案,并将系统划分为如干子系统,从而建立整个系统的体系结构;32、具体设计 是细化原有的分析对象,确定一些新对象,对每一个子系统的接口和类进行精确具体的说明;33、客户 /服务器 Client/Server 体系结构 :Client/Server 是在两个不同机器上运行的进程间的一种关系;Server进程是服务的供应者; Client 进程是服务的

15、消费者; Client/Server依据服务的观点对功能进行了明确划分;Client/Server 的特点 :共享资源;不对称协议;定位透亮性;混合与匹配;基于消息的交换;服务封装;可扩展性;完整性;34、浏览器 /服务器模式 简称 B/S 模式,是一种扩展了的 C/S 结构,其运行机制采纳了标准的 C/S 分布式处理;与传统信息系统结构不同的是,在基于 B/S 模式的信息系统中,用户界面将全部是浏览器出现的 Web页面,用户依据 Web 页面信息,从浏览器端向服务器发出恳求,这些恳求包括对数据库的查询、修改、插入等,服务器端对恳求进行处理,并将处理结果返回到浏览器端;35、MVC 是三个单词

16、的缩写,分别为:模型Model,视图 View 和掌握器 Controller;使用 MVC 的目的是将 M 和 V 的实现代码分别,从而使同一个程序可以使用不同的表现形式;C 存在的目的就是确保 M 和 V 的同步,一旦 M 转变, V 应当同步更新;36、程序流程图 又称程序框图, 它是历史最悠久、 使用最广泛的一种描述程序规律结构的工具,包括 5 种基本掌握结构 :1 顺序结构 sequential structure;2 挑选结构 selective structure;3 先判定型循环结构 while-loop structure;4 后判定型循环结构until-loop struc

17、ture; 5 多情形挑选 case structure 流程图的优点 是直观清楚、易于使用,是开发者普遍采纳的工具,但是它有严峻缺点 :可以随心所欲地画掌握流程线的流向,简洁造成非结构化的程序结构;编码时势必不加限制地使用 GOTO 语句,导致基本掌握块多入口多出口,这样会使软件质 量受到影响,与软件设计的原就相违反;流程图不易反映逐步求精的过程,往往反映的是最终的结果;不易表示数据结构;37、盒图 N S 的主要特色 ,就是只能描述结构化程序所答应的标准结构,根本取消了表现诸如含有 GOTO 语句的非标准结构 的手段;优点 :全部的程序结构均用方框来表示,无论并列或者嵌套,程序的结构清楚可

18、见;而且,由于它只能表达结构化的程序 规律,使应用 NS 图来描述软件设计的人不得不遵守结构化程序设计的规定;久而久之,就可自然地养成良好的程序设计风 格;缺点 :当程序内嵌套的层数增多时,内层的方块越画越小,不仅会增加画图的困难,并将使图形的清楚性受到影响;38、PAD 图是一种由左往右绽开的二维树型结构;PAD 图的掌握流程为自上而下,从左往右地执行;特色 :(1)清楚地反映了程序的层次结构; (2)支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐 步细化;(3)易读易写,使用便利; (4)支持结构化的程序设计原理; (5)可自动生成程序;39、定量度量程序复杂程度的方法的

19、价值:()把程序的复杂程度乘以适当常数即可估算出软件中错误的数量以及软件开发 需要用的工作量;()定量度量的结果可以用来比较两个不同的设计或两个不同算法的优劣;()程序的定量的复杂程度可以作为模块规模的精确限度;40、流图 :McCabe 方法依据程序掌握流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度;为 了突出表示程序的掌握流,通常使用流图 也称为程序图 描画;注:流图实质上是 “退化了的 ” 程序流程图,它仅仅描画程序的掌握流程,完全不表现对数据的具体操作以及分支或循环的名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - -

20、 - - - - 学习好资料 欢迎下载具体条件 41、结点 :在流图中用圆表示,一个圆代表一条或多条语句;程序流程图中的一个次序的处理框序列和一个菱形判定框,可以 映射成流图中的一个结点;42、边:在流图中的用箭头线表示,它和程序流程图中的箭头线类似,代表掌握流;在流图中一条边必需终止于一个结点,即使这个结点并不代表任何语句实际上相当于一个空语句;43、区域 :由边和结点围成的面积,当运算区域数时应当包括图外部未被围起来的那个区域;44、环形复杂度定量度量程序的规律复杂度;用下述3 种方法中的任何一种来运算环形复杂度:1 流图中的区域数等于环形复杂度;2 流图 G 的环形复杂度 VG=E-N+

21、2, 其中,E 是流图中边的条数, N 是结点数; 3 流图 G 的环形复杂度 VG=P+1,其中, P 是流图中判定结点的数目;45、软件的具体设计完成,就表示完成了软件的过程性的描述,进入程序编码阶段;编码(Coding)阶段的任务 简洁说,是为每个模块编写程序; 即是将具体设计的结果转换为用某种运算机语言写的程序源程序代码;46、结构化程序设计 是一种程序设计技术,它采纳自顶向下,逐步求精的程序设计方法和单入口和单出口的掌握结构;主要 特点:(1)自顶而下,逐步求精; (2)结构化的程序是由且仅由次序、挑选、循环三种基本掌握结构组成;47、数据说明方法 :为使程序中的数据说明更易于懂得和

22、保护,应满意: 数据说明的次序应当规范化;使数据的属性更易 于查找,从而有利于测试、纠错与保护; 一个语句说明多个变量时,各变量名按字母次序排列; 对于复杂的数据结构,要加注释,说明在程序实现时的特点;48、软件测试的定义 :广义上讲,软件测试指软件产品生存周期内全部的检查、评审和确认活动;狭义上讲,软件测试是对软 件产品质量的检验和评判;软件测试的目的 :1在于发觉错误;测试无法说明错误不存在,只能说明软件错误已显现;2检查系统是否满意需求也是 测试的期望目标;49、测试用例 :所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实 体;50、软件测

23、试的原就 :(1)应尽早地和不断地进行测试;一旦完成需求模型,就可以着手制定测试方案,设计工作本身应当包(2)全部测试应当追溯到用户需求,测试用例的设计应当依据用户需求,括测试方案的设计;测试用例是与编码同时进行的;最大的错误就是不能满意用户需求(3)在程序提交测试后,应当由独立的第三方,即特地的测试人员进行测试 ,这样测试团队 将更完全地测试软件;(4)测试用例应包括合理的输入条件和不合理的输入条件;(5)穷举测试是不行能的,因此应当细心(6)充分留意测试当中的群表达象,80%的错误是由 20%的程序产生 设计测试方案,严格执行测试方案,排除测试的随便性;的 ;(7)应对每一个测试结果做全面

24、的检查; (8)储存测试方案、测试用例、出错统计和最终分析报告,为保护工作供应充 分的资料;51、白盒测试 :又称为结构测试,把测试对象看作一个透亮的盒子,测试人员依据程序内部的规律结构及有关信息设计测试用 例,检查程序中全部规律路径是否都按预定的要求正确地工作;白盒测试主要用于对模块的测试,包括 :程序模块中的全部独立路径至少执行一次;对全部规律判定的取值 (“ 真” 与“ 假” )都至少测试一次;在上下边界及可操作范畴内运行全部循环;测试内部数据结构的有效性等;常用的白盒测试方法有 :规律掩盖测试;基本路径测试;循环测试;52、规律掩盖 主要考察使用测试数据运行被测程序时对程序规律的掩盖程

25、度;通常期望挑选最少的测试用例来满意所需的掩盖 标准; 主要的掩盖标准有 :语句掩盖;判定掩盖;条件掩盖;判定 /条件掩盖;条件组合掩盖;路径掩盖;53、黑盒测试 :又称行为测试,把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的规律结构和内部特性,只依据需 求规格说明书,检查程序的功能是否符合它的功能需求;黑盒测试可用于各种测试,它试图发觉以下类型的错误:不正确或遗漏的功能;界面错误;数据结构错误或外部信息如外部数据库 拜访错误;性能错误;初始化和终止错误;名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - 学习好资料 欢迎下载

26、主要的黑盒测试方法有 :等价类划分;边界值分析;错误估计法;因果图;54、等价类划分 :(1)由于不能穷举全部可能的输入数据来进行测试,所以只能挑选少量有代表性的输入数据,来揭露尽可能 多的程序错误;(2)等价类划分方法将全部可能的输入数据划分成如干个等价类,然后在每个等价类中选取一个代表性的数据 作为测试用例;(3)等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的 某个代表值就等价于对这一类其他值的测试;等价类分为 :有效等价类和无效等价类; 划分 “等价类 ” -应依据输入条件(如输入值的范畴,值的个数,值的集合,输入 条件必需如何)划分为有效等

27、价类和无效等价类; 挑选测试用例 -使一个测试用例尽可能掩盖多个有效等价类;特殊要注意的是:一个测试用例只能掩盖一个无效等价类;55、单元测试 :又称模块测试,是针对软件设计的最小单位程序模块,进行正确性检验的测试工作;其目的在于发觉各模块内部可能存在的各种差错;单元测试的内容 : 1 模块接口测试; 2 局部数据结构测试;3 路径测试;4 错误处理测试;5 边界测试;56、集成测试 :在单元测试的基础上,将全部模块依据设计要求组装成为系统,发觉并排除在模块连接中可能显现的问题,最 终构成要求的软件系统;这时需要考虑的问题是 :(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;(

28、 2)一个模块的功能是否 会对另一个模块的功能产生不利的影响; (3)各个子功能组合起来,能否达到预期要求的父功能;(4)全局数据结构是否有问 题;(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度;集成测试方法 :(1)一次性集成方式:它是一种非增殖式组装方式;也叫做整体拼装;(2)增殖式集成方式:这种集成方式又称渐增式集成;自顶向下、自底向上、混合增殖式测试;57、系统测试 :系统测试是将通过确认测试的软件,作为整个基于运算机系统的一个元素,与运算机硬件、外设、某些支持软 件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对运算机系统进行一系列的组装测试和确认测试;常用的系统测试包括 :复原测试;安全测试;压力测试,也称强度测试;性能测试;确认测试;58、验收测试 :是以用户为主的测试,目的是使用户能判定系统是否真的满意了他们的需要和期望;测试内容 :安装测试、功能测试、牢靠性测试、安全性测试、时间及空间性能测试、易用性测试、可移植性测试、可保护性测试、文档测试;测试方法 :1. 确认测试标准;2. 配置复审:目的是保证软件配置齐全、分类有序,并且包括软件保护所必需的细节;3. 、 测试 ;名师归纳总结 - - - - - - -第 5 页,共 5 页

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

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

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

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