2021软件工程复习整理

1.软件的概念:
计算机软件指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述。
文档是为了便于了解程序所需的阐明性资料。

2.软件工程的定义:
软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。

3.瀑布模型(软件生存周期模型):
(1)定义:给出软件生存周期活动的固定顺序,上一阶段的活动完成后向下一阶段的活动过渡,最终得到所开发的软件产品。
(2)特征:
①接受上一阶段的结果作为本阶段的输入。
②利用这一输入实施本阶段应完成的活动。
③ 对本阶段的工作进行评审。
④将本阶段的结果作为输出,传递给下一阶段。
缺点:
①缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发。
②开发早期存在的问题往往要到交付使用时才发现,维护代价大。
(3)图:
在这里插入图片描述

4.组成基于计算机的系统由哪些元素组成:
软件、硬件、人员、数据库、文档和规程
①软件—指计算机程序、数据结构和相关的工作产品,它们被用于实现所需的逻辑方法、规程或控制。
②硬件—指提供计算能力的电子设备、使能数据流动的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等)。
③人员—指硬件和软件的用户和操作者。
④数据库 —指通过软件访问并持久存储的大型的有组织的信息集合。
⑤文档 —指描绘系统的使用和/或操作的描述性信息(如模型、规格说明、硬复制手册、联机帮助文件、Web站点)。
⑥规程(procedures) —指定义每个系统元素或其外部相关流程的具体使用步骤。

5.需求工程的六个阶段:
需求获取、需求分析与协商、系统建模、需求规约、需求验证以及需求管理。
①需求获取:
系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的任意原型。
②需求分析与协商:
分析活动对需求进行分类组织,分析每个需求其它需求的关系来,检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。
③系统建模:
建模工具的使用在用户和系统分析人员之间建立了统一的语言和理解的桥梁,同时系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确保需求文档正确反映用户的真实意图。
④需求规约:
软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
⑤需求验证:
对功能的正确性、完整性和清晰性,以及其他需求给予评价。目的是要检验需求是否能够反映用户的意愿。
⑥需求管理:
软件需求管理是对需求工程所有相关活动的规划和控制。

6.软件需求的定义:
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求等,同时还要预先估计以后系统可能达到的目标。

7.软件设计的任务,在回答接口设计的时候,需要讲清楚3个方面的内容。
(1)数据/类设计:将分析类模型变换成类的实现和软件实现所需要的数据结构。
(2)体系结构设计:定义了软件的整体结构,由软件部件、外部可见的属性和它们之间的关系组成。
(3)接口设计:接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。
接口设计包括3方面内容:
①设计软件模块间的接口。
②设计模块与其他非人的信息生产者和消费者(如外部实体)之间的外部接口。
③设计人(用户)与计算机间的人机接口。

(4)部件级设计:将软件体系结构的结构性元素变换为对软件部件的过程性描述。

8.信息隐藏的概念:
①每个模块的实现细节对于其他模块来说应该是隐蔽的,其他模块只能知道其功能和接口。
②块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。
③通过信息隐蔽,则可定义和实施对模块的过程细节和局部数据结构的存取限制

9.程序流程图、判定表
程序流程图独立于任何一种程序设计语言,比较直观、清晰、易于学习掌握。
当算法中包含多重嵌套的条件选择时,用判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系。

10.人机界面设计的黄金原则是什么:
(1)让用户拥有控制权。
①交互模式的定义不能强迫用户进入不必要的或不希望的动作的方式。
②提供灵活的交互。
③允许用户交互可以被中断和撤销。
④当技能级别增长时可以使交互流水化并允许定制交互。
⑤使用户隔离内部技术细节。
(2)减少用户的记忆负担。
①减少对短期记忆的要求。
②建立有意义的默认值。
③定义直觉性的捷径。
④界面的视觉布局应该基于真实世界的隐喻。
⑤以不断进展的方式揭示信息。
(3)保持界面一致。
①允许用户将当前任务放在有意义的语境中。
②在应用序列内保持一致性。
③不要改变用户已经熟悉的用户交互模型。

11.书写功能性注释需要注意哪些问题:
①注解要正确,错误的注释比没有注释更坏;
②为程序段作注释,而不是为每一个语句作注解;
③用缩进和空行,使程序与注释容易区分;
④注解应提供一些从程序本身难以得到的信息,而不是语句的重复。

12.白盒测试与黑盒测试的概念。
白盒测试(又称为结构测试):把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。
黑盒测试(又称为行为测试):把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。

13.白盒测试用例设计与黑盒测试用例设计
白盒测试用例设计:
①语句覆盖:是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都至少执行一次。
②判定覆盖(也称分支覆盖):是指选择足够的测试例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次(即判定的每个分支至少经过一次)。
③条件覆盖:是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的每个条件的所有可能结果都至少出现一次。
④判定/条件覆盖:是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次,并且,每个判定中的每个条件的所有可能结果都至少出现一次。
⑤条件组合覆盖:是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中条件结果的所有可能组合都至少出现一次。
⑥路径覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每条可能执行到的路径都至少经过一次(如果程序中包含环路,则要求每条环路至少经过一次)。
黑盒测试用例设计:
①确定等价类
②确定等价类的规则:
(1) 如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值。
(2) 如果输入条件规定了值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数。
(3) 如果输入条件规定了输入值的集合(即离散值),而且程序对不同的输入值做不同的处理,那么每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)。
(4) 如果输入条件规定了输入值必须遵循的规则,那么可确定一个有效等价类(符合此规则)和若干个无效等价类
(从各个不同的角度违反此规则)。
(5) 如果输入条件规定输入数据是整型,那么可以确定三个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)。
(6) 如果输入条件规定处理的对象是表格,那么可以确定一个有效等价类(表有一项或多项)和一个无效等价类(空表)。
黑盒测试设计用例的步骤:
(1) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
(2) 为每个无效等价类设计一个新的测试用例。

14.各种逻辑覆盖准则之间的关系
①满足判定覆盖标准的测试用例一定满足语句覆盖标准。
②满足判定/条件覆盖标准的测试用例一定满足判定覆盖、条件覆盖、语句覆盖标准。
③满足条件组合覆盖标准的测试用例一定满足判定覆盖、条件覆盖、判定/条件覆盖、语句覆盖标准。

④条件组合覆盖仍不能保证程序中所有可能的路径都被覆盖。
⑤路径覆盖不能替代条件覆盖和条件组合覆盖标准。

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

16.V模型中四类测试的对象、依据和任务分别是什么
在这里插入图片描述

测试类型对象依据任务
单元测试软件设计的最小单元(软件构件或模块)模块详细设计①模块接口测试 ②模块局部数据结构测试 ③模块边界条件测试 ④路径测试 ⑤错误处理测试
集成测试模块间的接口软件概要设计①模块之间数据传输 ②模块之间功能冲突 ③模块组装功能正确性 ④全局数据结构 ⑤单模块缺陷对系统的影响
确认测试整个系统软件需求规约①软件是否实现规约规定的全部功能要求 ②文档资料是否完整、正确、合理 ③其他的需求,如可移植性、可维护性、兼容性、错误恢复能力等是否满足
系统测试整个系统(软硬件)软件需求规格说明书功能、界面、可靠性、易用性、性能、兼容性、安全性

17.适应性维护
为了使软件适应内部或外部环境变化,而去修改软件的过程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值