1软件工程专业术语-8.软件开发环境-7.错误推测法-6.软件质量保证-5.瀑布模型-4.软件危机-3.软件工程-2.软件生存周期-1.软件生存周期模型0.软件开发方法1、需求分析2、白盒法3、黑盒法4、渐增式测试5、非渐增式测试6、可执行的规格说明7、经济可行性8、系统设计说明书9、面向对象设计10、结构化设计(分析)12、基于脚本的设计13、IDEF方法14、JSP方法15、软件概要设计16、信息隐蔽17、系统流程图18、集成测试19、附加策略20、抛弃策略21、抽象22、参数化抽象23、静态测试24、原型25、事件26、动态冗余27、模块化28、JSP方法29、模型30、瀑布模型31、增量模型32、喷泉模型33、功能模型34、动态模型35、对象模型36、货币的时间价值37、类38、对象39、多态性40、风险分析41、模块42、JSD方法43、路径覆盖44、判定/条件覆盖45、条件组合覆盖46、条件覆盖47、原型模型48、软件工程环境49、程序图50.结构化分析方法51.数据流图52.字据字典53.IDEF方法54.概要设计55.耦合性56.内聚性57.无直接耦合58.数据耦合59.标记耦合60.控制耦合61.公共耦合62.内容耦合63.偶然内聚64.逻辑内聚65.时间内聚66.通信内聚67.顺序内聚68.功能内聚69.软件结构70.控制范围71.作用范围72.变换流73.事物流74.程序设计风格75.集成测试76.非渐增式77.渐增式78.确认测试279.软件的可维护性82.类结构83.消息84.软件质量85.质量保证86.软件可靠性87.软件评审88.容错定义89.软件配置管理90.基线软件开发环境.指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统错误推测法.在测试程序时,人们可能根据经验或直觉推荐程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。软件质量保证.是向用户及社会提供满意的高质量的产品确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。-5瀑布模型.将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。-4.软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。-3.软件工程:用科学的原理和理论定义,开发、维护软件的学科。-2.软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.-1.软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)0.软件开发方法:用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。主要有:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法1、需求分析:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。36、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行为。7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。8、系统设计说明书:是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。10、结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(SD)。12、基于脚本的设计:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运行期间用户经历的事件,它提供了输入、处理、输出的屏蔽,以及有关对话的一个模型,开发者能够给用户显示一个系统的逼真视图。13、IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。14、JSP方法:定义了一组以数据结构为指导的映射过程,他根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。15、软件概要设计:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件的概要设计或结构设计。16、信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。17、系统流程图:是描述物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。18、集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。19、附加策略:是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。20、抛弃策略:是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。21、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。22、参数化抽象:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数。23、静态测试:指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的4手段对程序进行检测。24、原型:是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特征。25、事件:是指定时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。26、动态冗余:动态冗余的主要方式是多种模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切换和恢复过程,故称其为动态冗余。27、模块化:是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。28、JSP方法:定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。29、模型:是为了理解事务而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式,一个规划,一个程式。30、瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。31、增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应稳当。增量开发和增量提交可以同时使用,也可单独使用。32、喷泉模型:是一种以用户需求为动力,以对对象作为驱动的模型,适合于面向对象的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。33、功能模型:描述了系统的所有计算,它表明一个计算如何从输入值得到输出值,他不考虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对象模型中约束的意义。34、动态模型:是与时间和变化有关的系统性质。该模型描述了系统的控制结构,他表示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象的事件和状态的角度出发,表现了对象的相互行为。35、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。36、货币的时间价值:通常利用银行的存款利息来表示货币的时间价值。设年利率为I,现存入p元,n年后得到本金和利息为F。若不计复利,则P元在n年后的价值为:F=P*(1+n*i)。反过来,若n年后能收入的本金和利息为F,则将来F元的现在价值(本金)P为:P=F/(1+n*i)。可用这个公式来计算将来收入的现在价值。这是效益分析的最基本公式。37、类:具有相同或相似性质的对象的抽象就是类。38、对象:是人们要进行研究的任何事物,从5最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。类的具体化就是对象,也可以说类的实例是对象。39、多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。40、风险分析:实际上就是贯穿在软件工程上的一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督,它能让人们主动“攻击”风险。41、模块:模块在程序重视数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等等。42、JSD方法:主要以活动事件为中心,通过有一串活动顺序组合构成的进程,建立系统模型,最后实现该模型。43、路径覆盖:指设计足够的测试用例,覆盖被测程序中所有可能的路径。44、判定/条件覆盖:指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。45、条件组合覆盖:是指设计足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。46、条件覆盖:是指设计足够的测试用例,