软件工程复习笔记

软件工程复习

1、名词解释

1、计算机软件:计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。
2、软件危机:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
3、软件工程:软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。
4、软件工程过程:软件工程过程指在定义、开发、使用和维护软件时,要实施的过程、活动和任务。
5、软件生存周期:软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。
6、软件生存周期模型:软件生存周期模型又称为软件开发模型,是指软件项目开发和维护的总体过程思路的框架。
7、计算机辅助软件工程:在软件工程活动中,人们按照软件工程的原则和方法,利用计算机及其集成的软件开发环境,辅助软件项目的开发、维护及管理的过程,称为计算机辅助软件工程。即:CASE
8、测量:是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。
9、度量:对系统、部件或过程的某一特性所具有的程度进行的量化测量。
10、估算:对软件产品、过程、资源等使用历史资料或经验公式等进行预测。
11、指标:是一个度量或者度量的组合,它可对软件产品、过程或资源提供更深入的理解。
12、软件可靠性:软件可靠性定义为在某个给定时间间隔内,程序按照规格说明书成功运行的概率。
13、软件的有效性函数A(t):软件系统在时刻t按照规格说明成功运行的概率。
14、计算机系统工程:计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术方法和过程。
15、需求分析:开发人员要精确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
16、判定表:又称判断表,是一种图形工具,适合于描述加工判断的条件较多,各条件又相互结合的逻辑功能,它分为四大部分:条件、状态、决策方案和决策规则。
17、结构化分析方法:结构化的含义是用一组规范的步骤、准则和工具来进行某项工作。
结构化方法是把整个系统开发过程分为若干阶段,每个阶段进行若干活动,每项活动用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合规范的产品。
18、数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具。是一种功能模型。
19、数据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的说明方式为系统的分析提供了有关元素的一致性的定义和详细的描述。
20、JSP方法:是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
21、软件概要设计:又称结构设计,这是一个把软件需求转换为软件表示的过程。
22、模块:模块再程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,再软件的体系结构中,模块是可组合、分解和更换的单元。
23、模块化:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
24、抽象:抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节。
25、信息隐蔽:信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息对于不需要这些信息的其他模块来说,是不能访问的。
26、模块独立性:模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块联系最少且接口简单。
27、耦合性:也称为模块关系,指软件系统结构中各模块间相互紧密程度的一种度量。
28、无直接耦合:无直接耦合指两个模块间没有直接关系,他们分别从属于不同模块的控制和调用,他们之间不传递任何信息。
29、数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。
30、标记耦合:两个模块之间传递的是数据结构。
31、控制耦合:一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行块内某一功能。
32、公共耦合:通过一个公共数据环境相互作用的那些模块之间的耦合。公共数据环境可以是全局变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。
33、内容耦合:内容耦合指一个模块直接调用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
34、内聚性:内聚性又称为块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
35、偶然内聚:一个模块内的各处理元素之间没有任何联系。
36、逻辑内聚:模块内几个逻辑上相似的功能,通过参数确定该模块完成哪个功能。
37、时间内聚:需要同时执行的动作组合在一起形成的模块。
38、通信内聚:模块内所有处理元素都在同一个数据结构上。
39、顺序内聚:一个模块中各个处理元素都密切相关与同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
40、功能内聚:功能内聚指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。
41、软件结构图:软件结构图是软件系统的模块层次机构,反映了整个系统的功能实现。
42、结构化设计:结构化设计又称面向数据流的设计,它是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。
43、交换流:交换流是指数据流图有明显的输入、变换和输出界面。
44、事务流:事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
45、详细设计:主要是确定每个模块的具体执行过程,也称为过程设计。
46、结构化程序设计:是一种典型的面向数据流的软件总体设计方法。它采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构,并且只包含顺序、选择和重复3种结构。
47、流程图:流程图又称程序框图,是一种描述程序逻辑结构的工具。
48、盒图:简称(N-S图),是一种算法描述工具,它是一种由外往里、结构化逐层展开的二维盒型结构。盒图的控制流程为自上而下,从外到里地执行。
49、过程设计语言:过程设计语言(简称PDL),也称程序描述语言,又称伪码,它是一种用于描述模块算法设计和处理细节的语言。
50、JSP:JSP方法定义一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。适于详细设计阶段。
51、JSD:JSD主要以活动事件为中心,通过由一串活动顺序组合构成进程,建立系统模型,最后实现该模型。
52、软件测试:软件测试是为了发现软件中的错误而执行软件的过程。他的目标是尽可能多的发现软件中存在的错误,将测试结果作为纠错的依据。
53、静态测试:静态测试准备测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
54、动态测试:通过运行程序发现错误。
55、黑盒测试:黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明说,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
56、白盒测试:把测试对象看成一个打开的盒子,测试人员需要了解程序的内部结构和处理过程,已检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
57、语句覆盖:语句覆盖指设计足够的测试用例,是被测程序中每个语句至少执行一次。
58、判定覆盖:用足够多的语句,是被测程序中的每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。
59、条件覆盖:设计足够测试用例,是判定表达式中每个条件的各种可能的值至少出现一次。
60、判定/条件覆盖:设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
61、条件组合覆盖:用足够的测试用例,使得每个判定表达式中条件的各个可能的值的组合都至少出现一次。
62、路径覆盖:设计足够的测试用例,覆盖被测程序中所有可能的路径。
63、测试用例:测试用例指为寻找程序中的错误而精心设计的一组测试数据。
64、驱动模块:驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,他只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
65、桩模块:用来替代被测试模块所调用的模块,其作用是返回被测试模块所需的信息。
66、单元测试:对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
67、集成测试:在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称为组装测试或联合测试。
68、确认测试:检查软件功能与性能是否与需求规格说明说中确认的指标相符合,又称为有效性测试。
69、渐增式测试:逐个把未经过测试的模块组装到已经测试的模块上去,进行集成测试,每加入一个新的模块进行一次集成测试,重复此过程指导程序组装完毕。
70、非渐增式测试:对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试。
71、调试:调试指确定错误的原因和位置,名改正错误的过程,也称为纠错。
72、人的因素:
人对感知过程的认识,
用户已有的技能和行为方式,
用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求
73、基线:已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变。
74、软件配置管理:简称SCM,它用于整个软件工程主要目标是:标识变更、控制变更、确保变更正确地实现、报告有关变更。
75、软件配置项:是软件工程中产生的信息箱,他是配置管理的基本单位。

2、简答题

1、软件产品的特点是什么:
(1)软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
(2)大型软件仍然存在着潜伏的错误。
(3)软件产品开发成功后,只需要对原版软件进行复制,即可生产处任意多的同样的产品。
(4)软件在使用过程中的维护工作比硬件要复杂的多。
(5)软件不是物理产品,他不会老化和磨损。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值