天博体育官方入口•天博体育首页 0668-14141837

2020软件工程期末温习知识点

作者:天博体育官方入口 时间:2022-07-03 00:07
本文摘要:2020软件工程期末温习知识点1、软件是盘算机法式、方法、规则、相关的文档以及运行盘算机系统时所必须的数据的总和。狭义界说:软件=法式+数据+文档2、软件的特性:软件是庞大的、软件是不行见的、软件是不停变化的、软件质量难以稳定。 3、软件的质量特性:功效性、可靠性、易用性、效率、维护性、可移植性。4、软件工程是一个使用盘算机和软件技术作为一个解决问题的工具的工程学科,是为了经济地开发和提供可靠的且能在实际机械上高效运行的软件而确立和使用的完善的工程原理。

天博体育官网

2020软件工程期末温习知识点1、软件是盘算机法式、方法、规则、相关的文档以及运行盘算机系统时所必须的数据的总和。狭义界说:软件=法式+数据+文档2、软件的特性:软件是庞大的、软件是不行见的、软件是不停变化的、软件质量难以稳定。

3、软件的质量特性:功效性、可靠性、易用性、效率、维护性、可移植性。4、软件工程是一个使用盘算机和软件技术作为一个解决问题的工具的工程学科,是为了经济地开发和提供可靠的且能在实际机械上高效运行的软件而确立和使用的完善的工程原理。

5、软件工程以关注软件质量为目的,包罗方法、历程、工具、范式四个要素。6、软件危机是指在盘算机软件的开发和维护历程中所遇到的一系列严重问题。7、关键的软件工程原则: 1)向用户提供价值;2)KIS(保持简朴);3)维护视觉效果;4)你生产什么,别人消费什么;5)开放的未来;6)为复用提前制定计划;7)三思尔后行。

8、历程:包罗运动,约束并发生预期的输出某种资源的一系列的步骤。9、历程建模的原因:1)形成一个配合的明白;2)发现纷歧致,重复,遗漏;3)为到达历程的目的而发现和评估合适的运动;4)为一个一般的历程量身定做一个特定的它将被用于的情况。10、软件生命周期: 需求分析和界说;系统设计;详细设计;编码;测试;系统交付;维护11、瀑布模型特点:阶段间具有顺序性和依赖性;接纳推迟实现的看法;质量保证的看法。瀑布模型适用:在开发的早期阶段软件需求被完整确定瀑布模型缺点: 在项目各阶段之间少少有反馈;只有在项目后期才气看到效果;过多的强制性里程碑缺少弹性。

12、原型模型:原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型接纳的方法完善原型,使得原型能够"快速"开发,制止了像一样在冗长的开发历程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更切合人们开发软件的习惯,是现在较盛行的一种实用软件生存期模型。13、增量模型:也称渐增模型,融合了瀑布模型的基本身分(重复应用)和原型实现的迭代特征,该模型接纳随着日程时间的希望而交织的线性序列,每一个线性序列发生软件的一个可公布的"增量"。

增量模型与原型实现模型比力:本质上都是迭代的,但与原型实现纷歧样的是其强调每一个增量均公布一个可操作产物。早期的增量是最终产物的"可拆卸"版本,但提供了为用户服务的功效,而且为用户提供了评估的平台。

增量模型优点:人员分配灵活。刚开始不用投入大量人力资源;可先公布部门功效给客户,对客户起到镇静剂的作用;增量能够有计划地治理技术风险。增量模型缺点:需要软件具备开放式的体系结构;容易退化为边做边改模型,从而使软件历程的控制失去整体性;增加系统内部的耦合庞大性。

14、螺旋模型与增量模型的区别:(1)两者迭代层级差别:增量模型在运动级迭代;螺旋模型在历程级迭代;(2)两者需求分析的时间差别:增量模型经常是先做总体需求分析和设计,然后在编码和测试中逐个增量开发;螺旋模型在开发周期内接纳简化瀑布模型或快速模型;(3)两者提交软件的方式差别:增量开发在上次增量的基础上提交新的一部门软件;螺旋模型每次迭代都提交一个新的完整的软件版本;(4)两者淘汰风险的方式差别:增量开发制止使用未成熟技术和经常的客户反馈等方法淘汰风险;螺旋模型中直接加进风险识别,风险分析、风险控制,计划性较强.15、RUP: Rational Unified Process Rational统一历程(软件开发统一历程)RUP焦点:RUP焦点是解决可操作性问题,资助开发人员尽可能少地依赖那些"不行形貌的履历"。RUP特点:用例驱动(Use Case);以体系结构为中心(高内聚低耦合);增量和迭代开发。16、最佳软件开发实践 Best Practices: 1)Develop Iteratively 迭代地开发软件;2)Manage Requirements 治理需求;3)Use Component Architectures 应⽤用基于构件的架构;4)Model Visually (UML) 为软件建⽴立可视化的模型;5)Continuously Verify Quality 不停地验证软件质量;6)Manage Change 控制软件的变换。

 17、RUP4个建模主要元素:1)Role ⾓角⾊色:who2)Activity 运动:how 例如 用例分析,用例设计;3)Artifact 制品:what 例如 用例实现,模型,文档,源代码,可执行体4)Workflow 事情流:when 例如 顺序图18、UML:Unified Modeling Language 统一建模语言是一种建模语言; 是用来为面向工具开发系统的产物举行说明可视化和体例文档的方法19、UML模型图(5类,10种):1)⽤用例图2) 静态图(类图,工具图,包图)3)⾏行为图(状态图,运动图)4) 交互图(顺序图,互助图)5) 实现图(构件图,设置图)20、用例:从本质上讲,一个用例是用户与盘算机之间为到达某个目的的一次典型交互作用;用例图:用例图形貌系统外部的执行者与系统的用例之间的某种联系。用例图主要的作用有三个:获取需求;指导测试;在其它环节中起指导作用。

21、类图:类图形貌了系统中的类及其相互之间的种种关系,其本质反映了系统中包罗的种种工具的类型以及工具间的种种静态关系(关联,子类型)。22、工具图: 工具图是类图的一种实例化。一张工具图表现的是与其对应的类图的一个详细实例,即系统在某一时期或者某一特定时刻可能存在的详细工具实例以及它们相互之间的详细关系。

23、包图:包图所显示的是类的包以及这些包之间的依赖关系。24、状态图状态图是对类的一种增补形貌,它展示了此类工具所具有的可能的状态以及某些事件发生时其状态的转移情况。25、运动图阐明晰业务用例实现的事情流程,由一系列运动组成,它们配合为业务主角完成某些事情。

事情流程运动图用于研究实现业务目的时所要执行的各项任务或运动的顺序摆设。运动既可以是手动执行的任务,也可以是自动执行的任务。

它可完成一个事情单元。26、顺序图:形貌了工具之间动态的交互关系,着重体现工具间消息通报的时间顺序。

27、互助图:与顺序图作用相同,互助图也是用来形貌系统中工具之间的动态协作关系。互助图偏重于形貌各个工具之间存在的消息收发关系(交互关系),而不专门突出这些消息发送的时间顺序。28、EXTREME PROGRAMMING (XP):极限编程,简称XP。XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个很是严谨和周密的方法。

XP是一种近螺旋式的开发方法,它将庞大的开发历程剖析为一个个相对比力简朴的小周期;通过努力的交流、反馈以及其它一系列的方法,开发人员和客户可以很是清楚开发进度、变化、待解决的问题和潜在的难题等,并凭据实际情况实时地调整开发历程。极限编程优点:1)接纳简朴计划计谋,不需要恒久计划和庞大模型,开发周期短;2) 在全历程接纳迭代增量开发、反馈修正和重复测试的方法,能够适应用户经常变化的需求。

极限编程缺点1)现在主要在小规模项目上应用并取得乐成,可是否适用于中等规模或大规模软件产物,需慎重思量;2)由于这个模型较新产物交付后维护成本是否降低,不能确定;3)对编码人员的履历要求高29、单元测试:又称模块测试,是针对软件设计的最小单元 ─ 法式模块,举行正确性磨练的测试事情。其目的在于发现各模块内部可能存在的种种差错。单元测试的内容: (1) 模块接口测试;(2) 局部数据结构测试 ;(3) 路径测试 ;(4) 错误处置惩罚测试;   (5) 界限测试。单元测试优点:更易发现bug;更容易维护;更容易明白;更容易开发。

30、软件测试的界说:广义上讲,软件测试指软件产物生存周期内所有的检查、评审和确认运动。狭义上讲,软件测试是对软件产物质量的磨练和评价。

软件测试的目的:(1)在于发现错误;测试无法说明错误不存在,只能说明软件错误已泛起;(2)检查系统是否满足需求也是测试的期望目的。31、测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的效果;测试用例是执行测试的最小实体。

32、软件测试的原则:(1)应尽早地和不停地举行测试。一旦完成需求模型,就可以着手制定测试计划,设计事情自己应该包罗测试计划的设计;测试用例是与编码同时举行的。(2)所有测试应该追溯到用户需求,测试用例的设计应该依据用户需求,最大的错误就是不能满足用户需求(3)在法式提交测试后,应当由独立的第三方,即专门的测试人员举行测试,这样测试团队将更彻底地测试软件。

(4)测试用例应包罗合理的输入条件和不合理的输入条件;(5)穷举测试是不行能的,因此应该经心设计测试计划,严格执行测试计划,清除测试的随意性。(6)充实注意测试当中的群体现象,80%的错误是由20%的法式发生的 ;(7)应对每一个测试效果做全面的检查;(8)生存测试计划、测试用例、堕落统计和最终分析陈诉,为维护事情提供充实的资料。33、白盒测试:又称为结构测试,把测试工具看作一个透明的盒子,测试人员凭据法式内部的逻辑结构及有关信息设计测试用例,检查法式中所有逻辑路径是否都按预定的要求正确地事情。

白盒测试主要用于对模块的测试,包罗:法式模块中的所有独立路径至少执行一次;对所有逻辑判断的取值("真"与"假")都至少测试一次;在上下界限及可操作规模内运行所有循环;测试内部数据结构的有效性等。常用的白盒测试方法有:逻辑笼罩测试;基本路径测试;循环测试。

34、黑盒测试:又称行为测试,把测试工具看做一个黑盒子,测试人员完全不思量法式内部的逻辑结构和内部特性,只依据需求规格说明书,检查法式的功效是否切合它的功效需求。黑盒测试可用于种种测试,它试图发现以下类型的错误:不正确或遗漏的功效;界面错误;数据结构错误或外部信息(如外部数据库)会见错误;性能错误;初始化和终止错误。主要的黑盒测试方法有:等价类划分;界限值分析;错误推测法;因果图。

35、遗传算法(GA):遗传算法是凭据问题的目的函数结构一个适值函数,对一个或多个解组成的种群举行评估、遗传运算、选择、经多代繁殖,获得适应值最好的个体作为问题的最优解。个体适应度评价基本遗传算法按与个体适应度成正比的概率来决议当前群体中每个个体遗传到下一代群体中的时机几多。为正确盘算这个概率,这里要求所有个体的适应度必须为正数或零。

这样,凭据差别种类的问题,必须预先确定好由目的函数值到个体适应度之间的转换规则,特别是要预先确定好当目的函数值为负数时的处置惩罚方法。遗传算子基本遗传算法使用下述三种遗传算子:• 选择运算:使用比例选择算子;• 交织运算:使用单点交织算子;• 变异运算:使用基本位变异算子。基本遗传算法的运行参数基本遗传算法有下述4个运行参数需要提前设定:• M:群体巨细,即群体中所含个体的数量,一般取为20 ~ 100。• T:遗传运算的终止进化代数,一般取为100 ~ 500• pc:交织概率,一般取为0.4 ~ 0.99• pm:变异概率,一般取为 0.0001 ~ 0.1基本遗传算法形貌:Procedure GABegininitialize P(0);t=0;while (t<=T) dofor i=1 to M doEvaluate fitness of P(t);end forfor i=1 to M doSelect operation to P(t);end forfor i=1 to M/2 doCrossover operation to P(t);end forfor i=1 to M doMutation operation to P(t);end forfor i=1 to M doP(t+1) = P(t);end fort=t+1end whileend交织是最重要的遗传算子,它同时对俩个染色体举行操作,组合二者的特性发生新的子女。

交织的最简朴方式是在双亲的染色体上随机的选择一个断点,将断点的右段相互交流,从而形成俩个新的子女。这种方法对于二进制编码最为适合。双亲的染色体是否举行交织由交织率来举行控制。

交织率(记为Pc)界说为各代中交织发生的子女数与种群中个体数的比。显然,较高的交织率将到达更大的解空间,从而减小停止在非最优解上的时机;可是交织率太高,会因过多搜索不须要的解空间而泯灭大量的盘算时间。

变异是在染色体上自发的发生随机的变化。一个简朴的变异方式是替换一个或者多个基因。

在遗传算法中,变异可以提供初始种群中不含有的基因,或者找到选择历程中丢失的基因,为种群提供新的内容。染色体是否举行变异有变异率来举行控制。变异率(记为Pm)界说为种群中变异基因数在总基因数中百分比。若变异率太低,一些有用的基因就难以进入选择;若太高,即随机的变化太多那么子女就可能失去从双亲继续下来的好特性。

八皇后问题用遗传算法解决。36、SBSE的优点:可扩展的;见识富厚的;稳健的;通用的;现实的37、变异测试:变异测试(有时也叫做"编译分析")是一种在细节方面革新法式源代码的。

这些所谓的变异,是基于良好界说的变异操作,这些操作或者是模拟典型应用错误(例如:使用错误的操作符或者名字),或者是强制发生有效地测试(例如使得每个都即是0)。目的是资助测试者发现有效地测试,或者定位测试数据的弱点,或者是在执行中很少(或从不)使用的代码的弱点。变异测试步骤:1)发生突变;2)对测试集T执行突变体;3)发生测试用例来杀死这个突变。

38、软件重用:是指在两次或多次差别的软件开发历程中重复使用相同或相似软件元素的历程。软件元素包罗法式代码、、设计文档、设计历程、需要分析文档甚至领域知识。通常,可重用的元素也称作,可重用的软构件越大,重用的粒度越大。软件重用的优缺点:优点:1)增加可靠性; 2)淘汰历程风险 ; 3)有效的使用专家资源; 4)尺度的兼容性; 5)加速系统生产和生长;缺点:1)增加了维护成本;2)缺少工具支持;3)"非我发现"症;4)需要建立和维护一个组件库;5)需要发现、明白和适应可重用的组件。

39、基于构件的软件工程:是一种软件开发范型。强调使用可复用的软件"构件"来设计和结构基于盘算机的系统的历程。一个组件是一个独立的可执行实体,可以组成一个或者多个可执行工具。

基于构件的软件工程开发流程:1) 开发提要性的需求;2) 组件搜索,然后对其修改;3) 根据可使用的功效修改需求;4) 再一次组件搜索,进一步变换需求;5) 结构设计;6) 识别候选组件;7) 组成组件建立系统。构件具有以下三个角色之一:1) 控制构件:协调问题域中所有其他构件的挪用;2) 问题域构件:完成部门或全部用户的需求;3) 基础设施构件:卖力完成问题域中所需相关处置惩罚的功效。40、面向服务的软件工程(SOA):面向服务的体系结构(SOA)是一种开发漫衍式系统的方法,漫衍式系统的系统组件是单机服务。

SOA优点:1)使用现有资产;2)更利于集成和治理庞大性;3)更多的响应和更快的上市时间;4)淘汰成本,增加重用。41、 Web service:Web service是一个独立的,低耦合的,自包罗的、基于可的web的应用法式,可使用开放的(下的一个子集)来、公布、发现、协和谐设置这些应用法式,用于开发漫衍式的互操作的。Web services = XML + transport protocol ( HTTP)Web services的关键尺度:1) SOAP2) WSDL3) UDDI4) WS-BPEL42、Web services的关键特征:1)Web services是自包罗的;2)Web services是自形貌的;3)Web services是模块化的;4)Web services可以通过网络公布、定位和挪用;5)Web services是语言独立的和互操作的;6)Web services本质上是开放的和基于尺度的;7)Web services是动态的;8)Web services是组合的。

43:服务工程(Service engineering):是面向服务的应用法式重用的开发服务的历程,这种服务在面向服务的应用开发中是可复用的。服务工程开发的流程:1)服务候选人识别(服务需求);2)服务设计(服务接口规范);3) 服务实现(验证和部署服务)。44、服务测试:服务测试有助于证明一个系统满足它的功效性和非功效性需求,且可检测在开发历程中所导入的缺陷。45、横切关注点:指的是一些具有横越多个的行为,使用传统的不能够到达有效的模块化的一类特殊。

横切关注点的成本:降低可明白性;适应能力下降;可重用性降低;可维护性降低。46、面向方面的软件工程: (也叫面向切面的软件工程),是现在软件开发中的一个热点。使用AOSE可以对业务逻辑的各个部门举行隔离,从而使得业务逻辑各部门之间的耦合度降低,提高法式的可重用性,同时提高了开发的效率。AOSE的优点:1)横切关注点;通过显式的思量横切关注点提供更好的关注点分散;2)提高模块化;3)系统容易扩展;4)更好的代码重用性;5)代码集中易于明白,提高可明白性;6)更好的代码适应性和可维护性。


本文关键词:2020,软件工程,期末,温习,知识点,2020,软件工程,天博体育官方入口

本文来源:天博体育官方入口-www.yyytjx.com