6

2020年秋 华南农业大学 软件工程 主要考点摘抄

 3 years ago
source link: https://blog.csdn.net/qq_42319794/article/details/112598616
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2020年秋 华南农业大学 软件工程 主要考点摘抄

朋英 2021-01-14 03:43:46 1961

注意:木有例子,详细的还得看ppt

以下内容要求全文背诵

1.软件的概念

计算机软件指计算机系统中的程序及其文档

程序是计算任务的处理对象和处理规则的描述(形式上是source, binary)

文档是为了便于了解程序所需的阐明性资料

5. 软件工程的定义

 IEEE:软件工程是:

①将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;

②在①中所述方法的研究( 若考试,必须回答 IEEE1993这个定义)

6. 软件生存周期的概念及若干个阶段

软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期

软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护

12. 组成基于计算机的系统由哪些元素组成

主要有:软件、硬件、人员、数据库、文档和规程(Procedure)

软件—指计算机程序、数据结构和相关的工作产品,它们被用于实现所需的逻辑方法、规程或控制

硬件—指提供计算能力的电子设备、使能数据流动的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等)

人员—指硬件和软件的用户和操作者

数据库 —指通过软件访问并持久存储的大型的有组织的信息集合

文档 —指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、硬复制手册联机帮助文件、Web站点)

规程(procedures) —指定义每个系统元素或其外部相关流程的具体使用步骤

13. 需求工程的概念(1/14 15:50更新)

需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。

本书将软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证和需求管理六个阶段 。

15. 软件需求的定义

软件需求是指用户对目标软件系统在功能,行为,性能,设计约束等方面的期望

24. 模块的概念

模块是数据说明、可执行语句等程序对象的集合,它是单独命名的,并且可以通过名字来访问

– 例如,过程。函数、子程序、宏等

模块化,即把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联

的部件,实际上是系统分解和抽象的过程。

26. 内聚与耦合的概念

• 内聚(cohesion)是一个模块内部各个元素彼此结合的紧密程度的度量

• 耦合(coupling)是模块之间的相对独立性(互相连接的紧密程度)的度量

30. 部件级设计阶段的主要工作

(1) 为每个部件确定采用的算法,选择某种适当的工具表达算法的过程,编写部件的详细过程性描述;

(2) 确定每一部件内部使用的数据结构;

(3) 在部件级设计结束时,应该把上述结果写入部件级设计说明书,并且通过复审形成

正式文档,作为下一阶段(编码阶段)的工作依据。

32. 设计规约主要包含哪些内容

39. 标识符命名需要注意的问题

(1)选择含义明确的名字,使其能正确提示标识符所代表的实体

         例如,表示总量的变量名用 Total ,表示平均值的用 Average 等

(2)名字不要太长,太长会增加打字量,且易出错。必要时可使用缩写

(3)不用相似的名字,相似的名字容易混淆,不易发现错误

         如 cm,cn,cmn,cnm,cnn,cmm

(4)不用关键字作标识符

(5)同一个名字不要有多个含义

(6)名字中避免使用易混淆的字符。

        如数字0与字母O;数字1与字母I或l;数字2与字母z等

41. 书写功能性注释需要主要哪些问题

(1)注解要正确,错误的注解比没有注解更坏;

(2)为程序段作注解,而不是为每一个语句作注解;

(3)用缩进和空行,使程序与注释容易区分;

(4)注解应提供一些从程序本身难以得到的信息,而不是语句的重复。

42. 编写程序时,对数据说明应该注意哪些问题

(1)数据说明的次序应当规范化

(2)说明语句中变量安排有序化

(3)使用注解说明复杂数据结构

43. 测试用例的概念(测试用例具体还会给流程图考输入输出等应用,类似实验)

一个测试用例由测试输入数据和预期结果组成,测试时通过输入数据,运行被测程序,如果运行的实际输出与预期结果不一致,则表明发现了程序中的错误。

45. 白盒测试与黑盒测试的概念

白盒测试 (又称为结构测试) 把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作

黑盒测试 (又称行为测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求

47. 各种逻辑覆盖准则之间的关系(具体例子可看第7个ppt第16页)

(1)语句覆盖    

         指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都至少执行一次

(2)判定覆盖    

         是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次(即判定的每个分支至少经过一次)

         判定覆盖将每个判定的所有可能结果都至少执行一次,所以,程序中的所有语句也必定都至少执行一次。因此,满足判定覆盖标准的测试用例也一定满足语句覆盖标准

(3)条件覆盖    

         指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的每个条件的所有可能结果都至少出现一次

         条件覆盖通常比 判定覆盖强,但有时虽然每个条件的所有可能结果都出现过,但判定表达式的某些可能结果并未出现。

(4)判定-条件覆盖

   指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次,并且,每个判定中的每个条件的所有可能结果都至少出现一次

   显然,满足判定/ 条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖、语句覆盖标准

(5)条件组合覆盖    

指选择足够的测试用例,使得运行这些测试用例时,被测程序的 每个判定中 条件结果的所有可能组合都至少出现一次

显然,满足条件组合覆盖标准的测试用例一定也满足判定覆盖、条件覆盖、判定/ 条件覆盖、语句覆盖标准

条件组合覆盖是上述五种覆盖标准中最强的一种,然而,条件组合覆盖仍不能保证程序中所有可能的路径都被覆盖。

(6)路径覆盖    

       指选择足够的测试用例,使得运行这些测试用例时,被测程序的每条可能执行到的路径都至少经过一次(如果程序中包含环路,则要求每条环路至少经过一次)

       路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,但它未必能覆盖判定中条件结果的各种可能情况。因此,它是一种比较强的覆盖标准,但不能替代条件覆盖和条件组合覆盖标准

49. 等价类的概念

等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测试。

也就是说,如果该子集中的某个输入数据能检测出某个错误,那么该子集中的其他输入数据也能检测出同样的错误;

反之,如果该子集中的某个输入数据不能检测出错误,那么该子集中的其他输入数据也不能检测出错误

50. V 模型中四类测试的对象、依据和任务分别是什么(找不到依据在哪)

V 模型:描述软件开发各阶段与测试策略之间的对应关系

•  单元测试 是针对程序中的模块或构件,主要揭露编码阶段产生的错误(根据设计描述)

•  集成测试 针对集成的软件系统,主要揭露设计阶段产生的错误

•  确认测试 是根据软件需求规约对集成的软件进行确认,主要揭露不符合需求规约的错误

•  系统测试 对于基于计算机系统中的软件,还需将它集成到基于计算机系统中,并进行 系统测试 ,以揭露不符合系统工程中对软件要求的错误

57. 软件维护的定义

软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程

  国标GB/T 11457-2006 给出如下定义

–  在一软件产品交付使用后对其进行修改,以纠正故障;

–  在一软件产品交付使用后对其进行修改,以纠正故障、改进其性能和其它属性,或使产品适应改变了的环境

以下三选一(可能会考具体怎么用?)

58. 纠错性维护

为了改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求而进行的维护

59. 适应性维护

为了使软件适应内部或外部环境变化,而去修改软件的过程

61. 预防性维护

为了提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础而修改软件的活动


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK