![中南大学软件工程教材知识点_第1页](http://file4.renrendoc.com/view/7d1cdef6709e4ac425b77d3cdd7372c3/7d1cdef6709e4ac425b77d3cdd7372c31.gif)
![中南大学软件工程教材知识点_第2页](http://file4.renrendoc.com/view/7d1cdef6709e4ac425b77d3cdd7372c3/7d1cdef6709e4ac425b77d3cdd7372c32.gif)
![中南大学软件工程教材知识点_第3页](http://file4.renrendoc.com/view/7d1cdef6709e4ac425b77d3cdd7372c3/7d1cdef6709e4ac425b77d3cdd7372c33.gif)
![中南大学软件工程教材知识点_第4页](http://file4.renrendoc.com/view/7d1cdef6709e4ac425b77d3cdd7372c3/7d1cdef6709e4ac425b77d3cdd7372c34.gif)
![中南大学软件工程教材知识点_第5页](http://file4.renrendoc.com/view/7d1cdef6709e4ac425b77d3cdd7372c3/7d1cdef6709e4ac425b77d3cdd7372c35.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可行性争论1、软件工程工程可行性争论实质是一次大大压缩和简化了的分析和设计过程,主要在较高层次上以较抽象的方式目的是在尽可能短的时间内以最小的代价确定该工程是否能够开发,是否值得开发。2、可行性争论不是去开发一个软件工程,而是争论该工程能否在给定的资源和给定的时间开发,是否能够开发,是否值得开发。3、可行性争论的内容:〔相关技术分析、资源有效性分析、风险分析〔;,又称社会可行性和组织机构或人员等,分析系统能否运行及运行好坏程度。4、可行性争论的步骤:对系统目标和范围的定义→对现行系统进展分析争论→导出系统的规律模型→设计系统的物理方案→推举可行的方案。5、可行性争论阶段,本钱估量的方法:〔自顶向下估量〕〔自底向上估量〕〔阅历算法估量〕主要阅历模型:静态单变量模型;动态多变量模型;COCOMOCOCOMO模型:Boehm将软件本钱估算分成3个由粗到细的层次:基本层、中间层和具体层。每个层次又按分成3种类型:组织型、半独立型和嵌入型。6、效益分析经济效益和社会效益。经济效益是指用使经济效益度量指标:货币的时间价值、纯收入、投资回收期、投资回收率社会效益是一种无形的效益,主要从性质上、心理上进展衡量,很难直接量化,但在某些状况下,无效的效益能转化成有形的效益。7、系统流程图是描绘物理系统的传统工具,可以承受系统流程图来描述工程的根本思想是用〔如程序、数据库、文档、人工过程等。系统流程图表达的是信息在系统中各部件加工处理的掌握过程〔信息有流淌无处理〕8、数据流图描述的是系统的规律模型,图中没有具体的物理元素,只是描绘信息在系统中的流淌和处理〔数据流图是规律系统的图形表示〕软件工程打算1、软件工程打算的目标就是供给一个框架,使治理者有能够对资源、本钱、风险及进度进展合理的估算分析和调度,为软件工程过程供给治理依据。工程打算一般由软件工程的可行性争论后后定稿,随着工程的进展定期更。2、软件工程打算的主要内容:风险分析、进度安排和工程组织。3风险分析风险标识险评价和风险治理与监控。4、进度安排方法:PERTGantt〔看看书上的过程。5小结〔彼即风险有形无形的经济损失。在软件开发过程中,人是最活泼的局部。需求分析1、需求分析是指开发人员通过细致的调查分析,具体、准确和完整地理解用户需要什么样的软件非形式的需求陈述转化为完整的需求定义定义转换到相应的需求规格说明的过程。2、通常,把一整套的需求分析方法、技术和工具等的集合称为建模方法。3、需求收集的方式:访谈〔;问卷调查;用用例;用户资料收集;建立快速原型。4、需求分析主要任务:问题分析、需求描述、需求评审。5、需求分析主要目的:确定用户需要系统做什么。6需求规格说明需求规格说明S系统设计、测试和验收的依据。15%的错误可理解性、可修改性、可追踪性和注释等。需求分析说明书的作用用户与开发人员之间的合同②概要设计的依据③软件验收测试的依据。数据流建模〔功能建模〕三水哥呕心沥血之作,只为与你相约中南7数据流建模:数据流建模方法是一种构造化分析方法〔A;自顶向下、逐数据流图〔DFD〕来对用户需求进展分析。8、数据流图:数据流图描述的是系统的规律模型,图中没有具体的物理元素,只是描绘信息在系统中的流淌和处理〔数据流图是规律系统的图形表示〕9数据流图的四种根本符号:数据流;加工〔加工一般用一个圆数据存储数据的源点和终点〔一般用正方形或立方体来表示。10、分层数据流图:将数据流图分为顶层数据流图,中间层数据流图以及底层细节简单度对大型系统描述的实现。①顶层数据流图:主要描述整个系统的作用范围,说明系统的边界,反映系统和外部环境之间的关系输入和输出数据流顶层数据流图只有一张。②中间层数据流图③底层数据流图:底层数据流图由一些不必再进展分解的加工组成。11、数据流建模步骤:原则上是由外向里、自顶向下去模拟问题的处理过程.画顶层数据流图;画分层数据流图;用数据词典定义数据流图中的全部数据;用加工说明描述数据流图中的根本加工。12、数据词典:又称数据字典,是关于数据信息的集合,是对数据流图中的每数据流和数据存储场所全都性。数据字典的作用:①为用户与开发人员之间统一生疏②作为概要设计的依据③便于需求分析阶段定义各类条目13、加工说明根本加工”由于没有进一步分解得到子图,因而需要加工说明来对其进展描述。加工说明是描述根本加工如何把输入数据流输出数据流的加工规章,是描述实现加工的策略而不是实现加工的细节。IPO图、构造化语言〔PDL,伪代码,是一种介于自然语言和形式语言之间的一种半形式语言、判定表、判定树等均可作为加工说明的工具。IDEF0〔功能建模〕14IDEF0:IDEF简单系统进展建模分析和设计的系统方法:IDEF0功能建模,IDEF1X数据模型,IDEF4面对对象设计,等等。15、IDEF0方法用严格的自顶向下、逐层分解的方式来构造系统的功能模型,IDEF0来描述。IDEF0图:只能反映系统做什么,系统功能由谁做,但不能反映系统如何-3-作图---集成测试;用例图---确认测试〕概要设计1软件设计:需求分析:可以满足需求规格说明中规定的各项需求。2、从工程治理的角度来看,软件设计通常分为两步,即概要设计和具体设计。3、概要设计的根本目的是答复“概括地说,软件系统应照实现”这一问题。因概要设计有时称为初步设计或总体设计概要设计的主要任务是确定软件的〔子系统或模块相互关系。方法:构造化方法、面对对象方法。具体设计是对概要设计结果的进一步细化,其主要任务是确定软件系统各组成成份内部的数据构造和算法过程。4、抽象与求精:抽象,即过程抽象、数据抽象和掌握抽象。抽象使得设计人员求精能够帮助设计人员随着设计过程的深入而不断呈现更低层次的信息。5、模块化和信息隐蔽:软件应当分解成可单独命名的且可访问的部件,这些部模块中所包含的信息〔包括数据和过程对不需要这些信息的其它模块是不行访问的抽象有助于定义组成软模块的实现者和使用者。6、模块独立性:模块独立性是模块化、抽象和信息隐蔽的直接产物。模块的功可以使得模块既简洁开发又简洁维护准:内聚度和耦合度。7、内聚度:模块内部各成分联系严密的程度。内聚度越高,模块的独立性就越数据或标记耦合、过程内聚〔程序流程图;过程相关---掌握耦合、时间内聚内聚等低级内聚的模块,争取高级内聚的模块,以提高模块的独立性。8、耦合度:模块之间相互关联严密的程度。模块的耦合度越低,模块的独立性越强。耦合程度从低到高也可分为七种:非直接耦合、数据耦合、标记耦合、掌握耦合、外部耦合、公共耦合、内容耦合。在设计模块时,应当尽量使用数标记耦合掌握耦合公共耦合用内容耦合。三水哥呕心沥血之作,只为与你相约中南构造化设计方法面对数据流图的软件构造设计类型承受变换分析法或事务分析法计原理和一些优化策略改进系统初始的软件构造,形成最终的软件构造。1、在构造化设计方法中,软件构造是软件系统模块层次构造,反映了整个系统功能及其之间的关系。软件构造图的主要内容有:模块、模块间的调用关系和模块之间传递的信息。传入模块、传出模块、变换模块、协调模块、源模块和漏模块。在软件构造图中,模块用方框来表示,并用名字标识该方框。3、调用关系:在软件构造图中,模块间的调用关系主要有三种:挨次调用、选方框之间的箭头表示模块之间的调用与被调用调用的次序,习惯上是从左至右。4、数据或掌握信息:在软件构造中,模块传递的信息用带名称的短线箭头来表信息传递空心圆圈代表的是数据;假设箭头线尾是带实心圆圈,则表示该箭头线代表的是掌握。5、数据流变换分析法:一种将变换型数据流图映射为变换型软件构造图的软件〔P101〕6、数据流事务分析法:是将事务型数据流图映射为事务型软件构造图的软件系〔P103〕7、软件构造图的改进:模块大小适中、模块扇入扇出合理、模块的作用域应在掌握域内。 模块的扇出是指模块直接调用多少其它模块。模块的扇入是指个模块直接调用本模块良好的软件构造图上层模〔主要是掌握模块〕往往具有较高的扇出,底层的模块〔主要是功能型模块〕具有较高的扇入,两头小、中间大的清真寺状。 模块的作用域是指模块中判定的作用范围,它是指全部受这个判定影响的模块。模块的掌握域是指模块本身及其直接或间接调用的模块。假设模块的作用域不在掌握域之内则会增加模块间数据的传递量,使模块之间消灭掌握耦合。面对IDEF0-7-8IDEF0构造化设计方法功能模型和信息构造〔数据〕为根底设计系统的软件构造。9IDEF0面对对象设计模式1、对象建模:主要任务是了解某个特定应用问题域内所涉及的对象,以及各种Coad/Yourdon面对对象分析方法来进展对象UML2、确定对象&类的方法:三视图模型法〔实体一关系模型、数据流模型、状态—迁移模型。3、面对对象设计是在对象建模的根底进展渐渐扩大的过程。在对象建模中,是问题域解空间中要完成的事情。对象建模是以问题域为中心确定“做什么以软件系统实现环境为中心确定“如何做4问题域局部设计、人机交互局部设计、任务治理局部设计、数据治理局部设计、系统交互部件的设计〔P110〕5、面对对象设计模式是一般面对对象设计问题的解决方案,这类问题以一组交互类的形式消灭,用户依据需要定制这些交互类以形成特地的设计。作用:设计模式不仅使人们可以更加便利地复用成功设计方案,提高软件的敏捷性和可复用性,也能提高已有系统的文档治理和系统维护的有效性。6、创立型模式:创立型模式帮助系统独立于对象的产生、组合和表示。作用一方面均将关于系统使用哪些具体的类的信息封装起来另一方面隐蔽了类的实例是如何被创立和放在一起的。因此,创立型模式在“什么”被创立“怎样”被创立“谁”创立它以及“何时”创立等方面带来了很大的敏捷性,有利于设计可复用的软件成分。主要有两种:工厂方法模式、抽象工厂模式。 构造型模式:构造型模式涉及如何组合类和对象构成更大的构造。一种方法是承受继承机制来组合接口或实现来形成更大的构造另一种方法通过对象组合方式对一些对象进展组合来形成由于对象组合可以在运行时刻转变而继承机制为静态类组合,因而对象组合方式具有更大的敏捷性。主要有两种:适配器模式、组合模式。 行为型模式:行为型模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻划了在运行时难以跟踪的简单的掌握流。行为型模式使设计者的留意力从掌握流转移到对象间的联系方式上。主要有两种:迭代器模式、观看者模式。三水哥呕心沥血之作,只为与你相约中南自己。概要设计文档1、概要设计说明包括软件系统的根本处理流程、软件构造、模块划分、功能安排件的具体设计供给了根底,也是系统集成测试的主要依据。2、概要设计文档复审:目的参与者:除开发人员外,必需要有用户代表参与,必要时还应邀请有关领域的专家参与。方式:正式复审和非正式复审。小结:①概要设计是由软件构造设计、内外接口设计、数据规律构造设计和用户界面设计等活动组成,是将用户需求转化为计算机可实现的系统的一个重要步骤。②面对数据流图的设计方法和面对IDEF0图的设计方法是两种常用的构造③Coad/Yourdon在面对对据规律构造设计等方面的内容。具体设计1、具体设计的目标与任务:概要设计确定了软件系统的总体构造,具体设计则〔主要任务:确定软件系统各组成成份内部数据构造和算法过程〕2、具体设计图形描述工具:具体设计中用于过程设计的图形工具,包括程序流程图、盒图、问题分析图和协作图。3、Jackson是一种面对数据构造的构造化程序设计方法析问题的输入、输出数据构造〔用Jackson图表示〕的对应关系,按肯定的映Jackson〔P134〕规律构造程序〕程序设计方法。5、程序规格说明文档及复审:又称具体设计说明,与概要设计说明相比,程序-9-,则可将程序规格说明并入概要设计说明中。程序规格说明的复审类似于概要设计说明的复审,但重点在于各个模块的具体设计上。进展规律系统开发到系统的编码实现。合理选择和正确使用有关工具、深入理解和把握有关设计思想和方法,对搞好具体设计是格外重要的。构造化程序的具体设计与面对对象程序的具体设计有很多共性。软件测试软件验证:是通过检查和供给客观证据说明软件已经满足规定的需求,是确保软件质量和降低软件本钱的重要手段,涉及软件的整个生存周期。进展软件验证的方式大体有两种:测试和证明。动态测试是通过运行软件来检验其动态行为和运行结果的〕证明是一种通过形式化的数学方法来确保软件正确性的活动。2、软件测试:是在软件投入运行前,对软件需求分析、设计规格说明和编码的觉察错误说明软件已经满足规定的需求。软件测试是确保软件质量和降低软件本钱的重要手段,涉及软件的整个生存周期。软件测试就是试图以最少的代价觉察软件分析、设计和编码中存在的各种不同类型的错误,从而提高软件质量,降低软件本钱。30%~40%悠关的软件〔如航空器的飞行掌握软件〕其测试费用往往更高。3、软件测试对象:软件生存周期各阶段文档和代码。4、测试与调试:测试是查找错误病症的过程,调试则是查找错误病症缘由并改正错误的过程。针对测试中觉察的错误进展改正,这便是调试的工作。测试和调试往往交替进展。5、软件测试的根本任务就是觉察软件中存在的错误。开发前期利用静态测试率也往往比较高。测试只能说明软件中存在错误,不能说明程序没有错误,因而任何软件经过测试后不能保证软件中不再存在错误。白盒测试三水哥呕心沥血之作,只为与你相约中南白盒测试是一种以程序的内部规律构造为依据称构造测试或玻璃盒测试。〔缘由:穷举测试不合理。主要有两种方法:一种称为规律掩盖法,另一种称为路径掩盖法。除此外,对循环的测试,可承受循环掩盖法。①规律掩盖:语句掩盖,测试用例能使被测程序的每条执行语句至少执行一次;判定掩盖:测试用例能使被测程序中的每个判定至少取得一次“真”和一条件掩盖:测试用例能使被测程序中每个判定的每个便满足判定掩盖,否则,不肯定;判定/条件掩盖:测试用例既满足判定掩盖,条件组合掩盖合至少执行一次。其中语句掩盖最弱。②根本路径掩盖法径集,然后设计测试用例使根本路径集中的每条路径至少经过一次。独立路径:包含一组以前从未被处理的语句或条件的一条路径。③循环掩盖法:规律掩盖法和根本路径掩盖法对于循环只进展了循环一次的简洁循环、嵌套循环和串接循环。黑盒测试黑盒测试:又称功能测试、数据驱动测试等,它将待测试对象看成是一个规格说明书检查程序的功能白盒测试用于测试的早期序内部状况,因而被很多后期测试〔如确认测试、系统测试〕承受。输入条件和输出条件确定测试数据,来检查程序是否能产生正确的输出。因果图法。通过选择有代表性的测试数据来暴露程序错误。别使用某些测试用例测试时程序工作正常,但其组合可能会使程序出错;因果图法-11-条件,程序的输出又依靠于输入条件的各种组合的状况。条件的组合,宜在一开头末就承受因果法,然后再按上述步骤进展。动态测试:通过运行软件来检验其动态行为与运行结果的正确性。阶段最小单元——模块,即程序中最小的独立编译单位。单元测试一般总是把白盒法和黑盒法在一般状况下,单元测试应以白盒法为主。单元测试在于考察模块的接口和内部构造〔即〕模块的接口;局部数据构造;重要的执行通路;出错处理路径;影响以上各项的边界条件。测试软件:一般地,驱动模块应完成接收测试数据,并把数据传给被测模桩模块检验和打印入口处的信息,然后将掌握返回给被测模块。面对对象单元测试:最小的可测试单元是类,包含一组不同操作。对面对类测试等价于构造化软件的单元测试随机测试和划分测试。成之后,将全部模块按概要设计要求组装成系统的时候进展的测试。主要目标是觉察与接口有关的问题。主要检查模块接口和全局数据。两重意义形成完整可运行的系统;另一方面要检验每一步拼装过程是否正确。独立的测试小组例,记录测试结果,并编制测试报告。测试用例的设计通常承受黑盒法非渐增式和渐增式两种。非渐增式测试模块一次性组装在一起进展测试,最终得到要求的软件系统。三水哥呕心沥血之作,只为与你相约中南误之后,的错误很可能马上会消灭。除规模很小的程序,一般很少承受此种测试策略。模块或功能簇测试。依据添加模块的方式,又可分为自顶向下的渐增测试和自底向上渐增测试。主控模块软件构造的掌握层次〔或间接调用模块按先的方式集成到整个软件构造中。特点:①能较早地显示整个程序的轮廓,对块。自底向上的渐增式测试:(1)把低层模块组合成实现某个特定的子功能的模(2)用实际模块换掉驱动模块,沿软件构造自下而上移动,把子功能簇组合起来形成更大的子功能簇,并进展测试;(3)重复(2)直到全部模块组装完毕。特点〔比桩模块简洁;③由于从低层模块开头组合,所以较易产生测试用例。过的测试的测试用例再重执行一遍,以保证上述转变不会传播意外的副作用,称之为回归测试。〔3〕确认测试:就是验证所开发软件的功能和性能及其他特性是否符合软件需求规格说明书的要求。所以,确认测试又称之为有效性测试。内容:功能测试;性能测试;强度测试;配置复审。确认测试是由软件开发单位组织进展的最终一次测试,也是把软件交给用-13-方面应组织独立的测试小组开发者处理。〔4〕系统测试更大范围内实际运行环境对系统进展的一系列集成和确认测试。验收小组需求分析说明书系统各不一样。软件维护1、所谓软件维护是指软件交付使用之后,为了改正错误或满足的需求等而修延长软件寿命的长短;软件维护阶段的费用占软件总本钱的大局部。、软件维护不同于硬件维护,主要缘由是软件维护不是由于使用时软件磨损或老化引起,而是由于软件设计不正确、不完善或使用环境的变化等引起。3、软件维护类型:改正性维护,识别和订正软件错误,改正性能上的缺陷,排解实施中的误使用而进展的诊断和改正错误的活动。约占整个维护的20%;适维护的25%;完善性维护,修改或再开发软件,以扩大软件功能,增加软件性能等。约占整个维护的50%;预防性维护或再工程,承受先进的软件工程方法〔重〕进展设计、编码和测试。连同其它5%。4、:软件维护活动所花费的工作量占软件整个生存期工作量的70%以上。影响软件维护工作量的因素有很多,就软件系本身而言,有以下几个主要方面:系统的大小;程序设计语言;系统年龄;数据库技术的应用;软件开发技术的运用。5、软件维护相关的模型:BoehmBeladyLehman、软件维护过程本质上是修改和压缩了的软件定义和软件开发过程。软件可维护性是指订正软件系统中消灭的错误或缺陷,以及为满足的要求进展修改、扩大和压缩软件的简洁程度。7:可理解性,可测试性,可修改性,牢靠性,三水哥呕心沥血之作,只为与你相约中南可移植性,可使用性及效率。8、影响软件可维护性的软件属性:可理解性,表现为人们通过阅读源代码和相可测试性,一个软件简洁被测试的程度;可修改性,程序简洁修改的程度。9、软件再工程技术:是一类软件工程活动,通过对旧软件(遗留系统)实施处理,以增进对软件的理解,同时又提高了软件自身的可维护性、可复用性等。:软件逆向工程,通过对程序的分析,导出更高抽象层次的表示,程。软件重构是对源代码和/或数据进展修改,使其易于理解或维护,以适应将来的变更。软件重构要求关注模块细节。正向工程也称为改造,用从现存软件恢复设计中得到的信息去重构现存系统,以改善其整体质量。〔编码副作用、数据副作用、文档副作用〕软件工程学价;软件维护软件维护要有正式的组织,制定标准化的过程,实行严格的维护评价。软件质量1、软件质量度量的两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电影行业的商业模式创新与经济效益分析报告
- 《整十数加整十数、一位数及相应的减法》(教案)青岛版一年级下册数学
- 三年级下册数学教案-1 有趣的乘法计算|苏教版
- 磁铁厂项目可行性研究报告申请报告
- 生产现场的消防安全管理与应急处置
- 中国美替拉酮项目投资可行性研究报告
- 《精打细算》(教案)五年级上册数学北师大版
- 2024年精酿啤酒项目提案报告模板
- 短视频内容创新与网络直播的未来融合趋势
- 电影技术对办公效率的促进作用
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 数 学2024-2025学年人教版七年级数学上册有理数混合运算100题
- 2024年银行考试-农村信用社考试近5年真题附答案
- 人教版小学数学四年级下册第一单元测试卷附答案(共9套)
- 二年级上册100以内加减法竖式计算题200道及答案
- 统编版六年级下册道德与法治1-学会尊重-课件(54张课件)
- 5.5.1三角恒等变换(第一课时)课件高一上学期数学人教A版
- 中国智慧物流发展报告
- 导演聘用合同正式(2024版)
- 焊接加工成本算表
- DL∕T 712-2010 发电厂凝汽器及辅机冷却器管选材导则
评论
0/150
提交评论