软件评测知识点记录

  1. 集成测试的集成方式包括:一次性集成、自底向上、自顶向下、混合式等。
  2. 计算机组成原理中的流水线:处理时每个数据要经过3个步骤:读入缓冲区、送用户区、处理。这三个步骤中,有两个步骤是需要用到缓冲区的,这两个步骤执行时,缓冲区都不可以开始下一个磁盘区的处理工作,所以三个步骤可合并为两个:读入缓冲区并送用户区、处理。此时,可应用流水线的方式来提升效率。
  3. 比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定段盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”,或者说使得程序中的每一个取“真”分支和取“假”分支至少经历一次,因此判定橙盖又称为分支覆盖。
  4. 逻辑覆盖是以程序内部逻辑为基础的测试技术,常用的逻辑覆盖从低到高分别是:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、判定/条件覆盖(CDC)、条件组合覆盖(MCC)、修正条件/判定覆盖(MCDC)。CDC要同时满足DC和CC,因此达到100%CDC要求就一定能够满足100%CC的要求。
  5. 软件测试配置管理一般包括四个最基本的活动:配置项标识、配置项控制、配置状态报告和配置审计。其中,配置项控制的主要活动包括:规定测试基线;规定何时何人创立新基线,如何创立;确定变更控制委员会的人员组成、职能、工作程序等;确定变更请求的程序、终止条件以及测试人员执行变更的职能等等。而确定测试基线是配置项控制的基本功能。
  6. 结构化开发方法是传统的、也是应用较为广发的一种软件开发方法,它基于数据流进行需求分析和软件设计,用抽象模型的概念,按照软件内部数据传递和转换关系,对问题和功能自顶向下逐层分解。Jackson系统开发方法是一种典型的面向数据结构的分析和设计方法,以活动为中心,一连串活动的顺序组合成一个完整的工作进程。Booch比方法是一种面向对象的软件开发方法。UML几仅仅是一种建模标准语言,规定了构成软件的各个元素和构件的图示规范。
  7. 软件成熟度模型(CMM)的基本概念。建立基本的项目管理和实践来跟踪项目费用、进度和功能特性为可重复级的核心:使用标准开发过程(或方法论)构建(或集成)系统为已定义级的核心;管理层寻求更主动地应对系统的开发问题为已管理级的核心;连续地监督和改进标准化的系统开发过程为优化级的核心。
  8. 外模式(子模式、用户模式)用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。
    外模式是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。一个应用程序只能使用一个外模式。
  9. 按照文档产生和使用范围,软件文件可分为开发文档、管理文档和用户文档,其中开发文档产生于软件开发过程,是前一阶段的工作成果体现,也是后一阶段工作的依据,用户文档是为用户准备的软件使用、操作、维护的资料。
  10. 增量模型:允许客户的需求可以逐步提出来;软件产品被增量式的一块块开发,每一个增量均发布一个可操作产品。
  11. 面向对象程序设计语言的特点主要有继承性、封装性和多态性,其中继承性是其他类型的程序设计语言所不具有的。衡量一个面向对象程序设计语言成熟与否的一个重要标志之一是看其是否建立了丰富的类库
  12. 改正性维护:是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动。
    适应性维护:是指为了适用变化了的环境而修改软件的活动。
    完善性维护:是指为了扩充或完善原有软件的功能或性能而修改软件的活动。
    预防性维护:是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下 基础而修改软件的活动。
  13. MTTF是用来描述可靠性的指标。
  14. 原型模型适宜于需求不明确,且变化。
  15. 软件测试中的确认是保证软件满足用户需求的一系列活动和过程。其目的是证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标,也就是开发的软件是否与用户需求相符。
    软件测试的验证是保证软件正确实现特定功能的一系列活动和过程,其目的是保证软件生命周期中,每一阶段的成果满足上一阶段所设定的目标。
  16. 网络三层核心层、汇聚层、接入层的作用:核心层:核心层的功能主要是实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输。网络的控制功能最好尽量的少在骨干层上实施。核心层一直被认为是所有流量的最终承受者和汇聚者,所以对核心层的设计以及网络设备的要求十分严格。核心层设备将占投资的主要部分。汇聚层:汇聚层的功能主要是连接接入层节点和核心层中心。汇聚层设计为连接本地的逻辑中心,仍需要较高的性能和比较丰富的功能。接入层:我们在核心层和汇聚层的设计中主要考虑的是网络性能和功能性要高,那么我们在接入层设计上主张使用性能价格比高的设备。接入层是最终用户(教师、学生) 与网络的接口,它应该提供即插即用的特性,同时应该非常易于使用和维护。当然我们也应该考虑端口密度的问题。
  17. Garlan和Shaw将通用软件体系结构风格总结为五个大类:数据流风格、调用/返回风格、独立构件风格、虚拟机风格、仓库风格
    数据流风格有:批处理序列、管道/过滤器;
    调用/返回风格有:主程序/子程序、面向对象风格、层次结构;
    独立构件风格有:进程通讯、事件系统;
    虚拟机风格有:解释器、基于规则的系统;
    仓库风格有:数据库系统、超文本系统、黑板系统。
    而JAVA虚拟机采用解释器软件体系结构。
  18. DES是对称密钥密码算法,它的加密密钥和解密密钥是相同的。RSA是非对称密钥密码算法,它使用不同的密钥进行加密和解密,还可以用于数字签名。对称密钥密码算法的效率要比非对称密钥密码算法高很多,适用于对文件等大量的数据进行加密。
  19. 概要设计:就是设计软件的结构、明确软件由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
    概要设计的基本任务:1、设计软件系统的总体结构(将系统按功能划分模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量);2、数据结构及数据库设计;3、编写概要设计文档;4、评审
    软件体系结构:是对子系统、软件系统组件以及它们之间相互关系的描述。
    详细设计包括模块内部的数据结构和算法设计。
  20. 偶然聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。
    逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。
    时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。
    过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。(不利于模块的重用)
    通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。
    顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。
    功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少。
  21. 白盒测试用例设计方法的基本概念:
    达到100 % CC要求不一定能够满足100 % DC的要求。
    达到100 %CDC要求就一定能够满足100 %DC的要求。
    达到100 % MCDC要求就一定能够满足100%DC的要求。
    达到100%路径覆盖要求就一定能够满足100 % DC的要求。
  22. 数据库系统的安全措施主要有权限机制、视图机制以及数据加密三个方面。通过权限机制,限定用户对数据的操作权限,把数据的操作限定在具有指定权限的用户范围内在标准SQL中定义了授权语句GRANT来实现权限管理。通过建立用户视图,用户或应用程序只能通过视图来操作数据,保证了视图之外的数据的安全性。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
    数据库的完整性是指数据的正确性相容性。如学生的性别只能是男或女,百分制的成绩只能取0~100之间的整数值等。为防止错误数据进入数据库,DBMS提供了完整性约束机制,通过对数据库表结构进行约束,当对数据进行修改时由系统对修改数据进行完整性检查,将错误数据拒绝于数据库之外。因此在数据库管理系统中,完整性约束不属于安全性控制机制,而属于完整性约束机制。
  23. 静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数等各类图形图表,可以清晰地标识整个软件系统的组成结构、使其便于阅读与理解,然后可以通过分析这些图表,检查软件有没有存在缺陷或错误。
  24. DMA是数据在内存与I/O设备间的直接成块传送,不需要CPU的任何干涉。
  25. 软件开发方法原型:需求不明确,动态变化的项目(如界面的开发)。
    面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它以数据为中心而不是以功能为中心来描述系统,数据相对于功能而言具有更强的稳定性。它将数据和对数据的操作封装在一起,作为一个整体来处理,采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型——类,并且考虑不同类之间的联系和类的重用性。类的集成度越高,就越适合大型应用程序的开发。另一方面,面向对象程序的控制流程由运行时各种事件的实际发生来触发,而不再由预定顺序来决定,更符合实际。事件驱动程序的执行围绕消息的产生与处理,靠消息循环机制来实现。在实际编程时可以采用搭积木的方式来组织程序,站在“巨人”的肩上实现自己的目标。面向对象程序的设计方法使得程序结构清晰、简单,提高了代码的重用性,有效减少了程序的维护量,提高了软件的开发效率。
    结构化:基本思想是:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下对信息系统进行分析与设计;严格区分工作阶段,每阶段有任务和结果; 强调系统开发过程的整体性和全局性; 系统开发过程工程化,文档资料标准化。
    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
  26. 编译和解释区别在于是否生成目标程序文件。
  27. 计算机编程语言具有高级语言和低级语言之分。其中高级语言主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序,具体易理解、开发效率高的特点,常见的高级语言很多,如C、C++、VB、JAVA等。低级语言又可为分机器语言(二进制语言)和汇编语言(符号语言),它具有运行效率高的特点。
  28. 软件开发人员可以用文本编辑软件编写和修改程序
  29. 软件评价过程的特性包括可重复性、可再现性、公正性和客观性。可重复性指由同一评价者按同一评价规格说明对同一产品进行重复地评价,应产生同一种可接受的结果;可再现性指由不同评价者按同一评价规格说明对同一产品进行评价,应产生同一种可接受的结果;公正性指评价应不偏向任何特殊的结果;客观性指评价结果应是客观事实,不带有评价者的感情色彩或主观意见。软件评价过程的特性不包括正确性。
  30. 根据《计算机软件需求说明编制指南》GB/T 9385-1988的规定,软件需求具体包括:功能需求、性能需求、设计约束、属性和外部接口需求等。其中功能需求定义了开发人员必须实现的系统功能;而设计约束是指在设计过程中应为用户考虑或用户提出的一些要求,比如我们可以用.net来实现系统,也可以用J2EE来实现系统,但用户明确要求我们用J2EE来实现,那么我们就只能用J2EE来实现,这就是一种设计约束。

  31. 运行态:占有处理器正在运行。
    就绪态:指具备运行条件,等待系统分配处理器以便运行。
    等待态:又称为阻塞态或睡眠态,指不具备运行条件,正在等待某个时间完成的状态。
    运行态——等待态:等待使用资源,如等待外设传输,等待人工干预。
    等待态——就绪态:资源得到满足,如外设传输结束,人工干预完成。
    运行态——就绪态:运行时间片到,出现有更高优先权进程。
    就绪态——运行态:CPU空闲时选择一个就绪进程。
    本题中,时间片到,进程应该进入就绪态;I/O完成进程应该是阻塞态到就绪态;V操作是释放资源,到一个进程释放资源,应该会唤醒另一个进程运行。所以最适合的选项应为D。
  32. 统一过程(UP)基本特征是用例驱动、以架构为中心的迭代式增量开发。其核心的工作流包括捕获用户需求、分析、设计、实现和测试等。首先,开发人员通过和用户的沟通、了解,捕获用户需求并制作软件用例图(用况图),从而得到软件的用况模型。然后分析并设计满足这些用例的系统,得到分析模型、设计模型和实施模型,进而实现该系统,最后通过测试模型来验证系统是否满足用况中描述的功能。需求捕获过程中得到的用例将各个核心工作流结合为一个整体,驱动整个软件开发过程。
  33. GB/T 16260-2006《软件工程  产品质量》规定的软件产品使用质量特性包括有效性、生产率、安全性、满意度
  34. 模型驱动的分析方法强调通过绘制图形化的系统模型来说明和验证已有的或待开发的系统。这些系统模型最终成为设计和构建改进后的系统的蓝图。结构化分析就是这样一种方法,它是以过程为中心的。在结构化分析方法中,系统分析员所绘制的一系列过程模型被称为DFD。面向对象分析是另外一种模型驱动的分析方法,它将数据和过程统一到了一个被称为“对象”的结构中。
  35. 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程。其中每个模块完成一个特定的子功能。
    抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
    信息隐蔽是指包含在模块内的信息对于无需这些信息的其他模块是不可存取的,即将不需要的信息都隐藏起来,只允许其他模块知道其本身所需的信息。
    模块化、抽象、信息隐蔽都是结构化程序设计应遵循的基本原则。而封装是面向对象程序设计的内容。
    在面向对象的程序设计中,封装的单位是对象,对象之间只能通过接口进行信息交流,对象外部不能对对象中的数据随意地进行访问。封装的目的是使对象的定义和实现分离,这样,就能减少耦合,隐藏对象的属性和实现细节。
  36. 渐增式开发方法有利于获取软件需求。有些软件需求不清,在渐增式开发过程中,通过用户的参与逐渐完善需求原型,使得开发过程减少反复,这种方法叫做快速原型法。
  37. 容错性是软件可靠性的子特性,指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
    成熟性是指软件产品避免因软件中错误的发生而导致失效的能力。
    易恢复性是指在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。
    可靠性依从性是指软件产品依附于同可靠性相关的标准、约定或规定的能力。
  38. 桥接模式是将一个抽象与其实现分离开,以便两者能够各自独立地演变。
    继承关系用空心箭头表示。
    聚合关系用空心凌形表示。
  39. 逻辑覆盖标准包括语句覆盖、判定覆盖(又称为分支覆盖)、条件覆盖、条件判定覆盖、修正条件判定覆盖、条件组合覆盖等。
  40. UML中关系概念。按照面向对象技术的描述,若两类事物之间存在特殊/一般关系,则用继承机制表示该关系,即UML中的泛化关系。用聚集关系表示事物之间存在的整体/部分关系。
  41. 可移植性包括以下质量子特性:适应性、易安装性、共存性、易替换性和可移植性依从性。
  42. 立即寻址:是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出了可以立即使用的操作数。特点:在取指令时,操作码和操作数被同时取出,不必再次访问主存,从而提高了指令的执行速度。但是,因为操作数是指令的一部分,不能被修改,而且立即数的大小受到指令长度的限制,所以这种寻址方式灵活性最差。
    直接寻址:在直接寻址中,指令中地址码字段给出的地址A就是操作数的有效地址,即形式地址等于有效地址。特点:不需作任何寻址运算,简单直观,也便于硬件实现,但地址空间受到指令中地址码字段位数的限制。
    间接寻址:间接寻址意味着指令中给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。特点:非常灵活,能扩大了寻址范围,可用指令中的短地址访问大的主存空间;另外可将主存单元作为程序的地址指针,用以指示操作数在主存中的位置。当操作数的地址需要改变时,不必修改指令,只需修改存放有效地址的那个主存单元的内容即可。但是,间接寻址在取指之后至少需要两次访问主存才能取出操作数,降低了取操作数的速度。
    寄存器寻址:寄存器寻址指令的地址码部分给出了某一个通用寄存器的编号Ri,这个指定的寄存器中存放着操作数。特点:一是从寄存器中存取数据比从主存中存取数据要快得多;二是由于寄存器的数量较少, 其地址码字段比主存单元地址字段短得多。因此这种方式可以缩短指令长度,提高指令的执行速度,几乎所有的计算机都使用了寄存器寻址方式。
  43. 软件开发项目中,往往使用配置库来实现变更控制。一般情况下,处于开发状态中的软件配置项尚未稳定下来,并未受到配置管理的控制,开发人员的变更也并未受到限制,软件配置项处于自由状态。但当开发人员认为工作已告完成,可供其他配置项使用时,它就开始趋于稳定。把它交出评审,就开始进入评审状态,若通过评审作为基线将准许进入配置库(实施check-in),开始“冻结”,此时开发人员不允许对其任意修改,因为它已处于受控状态。通过评审表明,它确已达到质量要求,但若未能通过评审,则将其回归到工作状态,重新进行调整。
  44. 白盒测试中控制流程图的环路复杂性V(G)的计算方法。其计算方法包括3种:V(G)= 区域数     V(G)= 判断结点数+1     V(G)= 边一节点+2
  45. 在国际标准、国家标准、行业标准以及企业标准中,对技术要求最高的是企业标准
  46. 在GB/T17544中,软件包质量要求包括三部分:产品描述要求、用户文档要求、程序要求、数据要求。
  47. 目前信息系统所使用的主要用户认证机制,身份识别标识不包括身份证号码
  48.  因果图法适用于必须描述多种条件的组合,相应地产生多个动作的形式来考虑设计测试用例。

  49. 软件评价过程的特性包括可重复性、可再现性、公正性和客观性。可重复性指由同一评价者按同一评价规格说明对同一产品进行重复地评价,应产生同一种可接受的结果;可再现性指由不同评价者按同一评价规格说明对同一产品进行评价,应产生同一种可接受的结果;公正性指评价应不偏向任何特殊的结果;客观性指评价结果应是客观事实,不带有评价者的感情色彩或主观意见。软件评价过程的特性不包括正确性。
  50. 路由器可以分割广播风暴;交换机可以分割冲突域。
  51. 原型模型是在需求不是很明确的情况下,快速开发出一个“原型”(可以运行,要反映最终系统部分重要特性),原型模型有利于增进软件开发人员和用户对系统服务需求的理解,适合需求不明确,动态变化的项目。

 

 

 

 

 

 

 

 

posted @   hccccch  阅读(565)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示