先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
合”的启发式规则:
- 改进软件结构,提高模块独立性;
- 力求模块规模适中;
- 力求深度、宽度、扇出和扇入适中;
- 尽力使模块的作用域在其控制域之内;
- 尽力降低模块接口的复杂度;
- 力求模块功能可以预测。
62、什么是用况 (Use Case)?什么是用况图?一个用况图通常包
含哪些模型元素?
答:用况(Use Case):从外延上说它表达了参与者使用系统的一
种方式, 从内涵上说它规约了系统可以执行的一个动作序列, 并
对特定的参与者产生可见的、有值的结果;
用况图:是一种表达系统功能模型的图形化工具;
一个用况图通常包含的模型元素是: 主题、用况、参与者、关联、
泛化、依赖。
63、简述螺旋模型以及可适应的情况。
答:螺旋模型以及可适应的情况分为以下几点:
- 螺旋模型是在瀑布模型和演化模型的基础上,加入两者所忽
略的风险分析所建立的一种软件开发模型; - 螺旋模型沿着螺旋线, 经历制定计划, 风险分析, 实施工程,
客户评估等 4 个方面的活动,自内向外每旋转一圈便产生一
个更为完整的新版本; - 该模型适应的情况:项目的开发风险很大或客户不能确定系
统需求。
64、述需求的概念和基本性质。
答:软件需求以一种技术形成,描述了一个产品 /系统应该具有
的功能、性能和其它性质。
需求的基本性质有以下 5 点:
- 必须的,该需求是用户所要求的;
- 无歧义的,该需求只能用一种方式解释;
- 可测的,该需求是可进行测试的;
- 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段;
- 可测量的,该需求是可测量的。
65、简述增量模型的优缺点。
答:优点有以下 3 点:
- 第一个可交付版本所需要的成本和时间是较少的,从而可减
少开发由增量表示的小系统承担的风险; - 由于很快分布的第一个版本,因此可以减少用户需求的变更;
- 允许增量投资,即在项目开始时可以仅对一个或两个增量投
资;
缺点有以下 3 点: - 如果没有对用户的变更要求进行规划,那么产生的初始增量
可能会造成够来增量的不稳定; - 如果需求不像早期思考的那样稳定和完整,那么一些增量就
可能需要重新开发,重新发布; - 由于进度和配置的复杂性,可能会增大管理成本,超出组织
的能力。
66、软件维护有哪些内容?
a、校正性维护 b、适应性维护 c、完善性维护 d、预防性维护
67、软件维护的特点是什么?
a、非结构化维护和结构化维护
b、维护的困难性
c、软件强维护的费用
68、软件维护的流程是什么?
a、制定申请维护报告 b、审查申请报告并批准 c、进行维护并作详细记录 d、覆审
69、什么是软件的可维护性?可维护性的度量的特性是什么?
软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性
和效率。
70、.提高可维护性的方法有哪些?
A、建立明确的软件质量目标。 B、利用先进的软件开发技术和工具。
C、建立明确的质量保证工作。 D、选择可维护的程序设计语言。
E、改进程序文档。
71、软件生命期各阶段的任务是什么?
答:软件生命期分为 7 个阶段: 1)问题定义:确定要解决的问题是什么; 2)可行性研
究:确定问题是否值得解,技术可行性、经济可行性、操作可行性; 3) 需求分析:确
定该系统必须做什么; 4)总体设计:确定系统如何实现,包括系统设计和结构设计;
5)详细设计:具体实现设计的系统; 6) 实现:编码和测试; 7)运行维护:保证软件正
常运行。
72、如何理解模块独立性?用什么指标来衡量模块独立性?
答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
模块的独立性很重要:第一,有效的模块化(即具有独立的模块)的软件比较容
易开发出来。第二,独立的模块比较容易测试和维护。 模块的独立程度可以由两个
定性标准度量,分别是内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密
程度;耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。
73、软件重用的效益是什么?
答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提
高软件开发的效率; 3) 节省软件开发的成本,避免不必要的重复劳动和人力、财
力的浪费。
74、简述建模过程及步骤?
答:为了支持系统地使用信息来创建系统功能模型,结构化分析方法给出了建模的基
本步骤,该过程属于“自顶向下,功能分解”形式。 1. 建立系统环境图,确定系统语
境;2. 自顶向下,逐步求精,建立系统的层次数据流图; 3. 定义数据字典; 4. 描述加
工。
75、软件重用的效益是什么?
答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提
高软件开发的效率; 3) 节省软件开发的成本,避免不必要的重复劳动和人力、财
力的浪费。
76、需求规约的作用是什么?
答:需求规约的作用可概括为以下 4 点:1)需求规约是软件开发组织和用户之间一
份事实上的技术合同书,是产品功能及其环境的体现。 2)对于项目的其余大多数工
作, 需求规约是一个管理控制点; 3)对于产品 / 系统的设计,需求规约是一个正式
的、受控的起始点; 4)需求规约是创建产品验收测试计划和用户指南的基础。
77、软件质量与软件质量保证的含义是什么?
答:软件质量定义为:与所确定的功能和性能需求的一致性;与所成文的开发标准一
致性;与所有专业开发的软件所期望的隐含特性的一致性。而软件质量保证就是向用
户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质
量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理
活动。
78、、一个良好的设计类需要满足四个特点,请详细描述这四个特点?
答:一个良好的设计类需要满足四个特点:
1)完整性和充分性: 2 )原始性; 3 )高内聚性; 4 )低耦合性。
79、、简述模块独立性的原则。
答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系
统中其他的模块接口是简单的,模块独立性的概念是模块化、抽象、信息隐蔽和局部
话概念的直接结果,由耦合和内聚 2 个标准度量。
80、简述文档在软件工程中的作用。
答:文档在软件工程中的作用如下: 1、提高软件开发过程的能见度; 2、实现对软件
开发的工程管理; 3、提高开发效率; 4、作为开发人员在一定阶段的工作成果和结束
标志;5、提供软件运行、维护和培训有关资料; 6、记录开发过程中有关信息便于协
调以后的软件开发使用和维护; 7、便于用户了解软件功能、性能。
81、衡量模块独立的两个标准是什么?它们各表示什么含义?
答:两个定性的度量标准:耦合与内聚性。
耦合性指软件系统结构中各模块间相互联系紧密程度的一种度量,模块之间联系
越紧密,其耦合性就越强,模块的独立性则越差。
内聚性指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度
的度量,模块内元素联系越紧密,内聚性越高。
82、什么是软件危机?其产生的原因是什么?
答:当软件开发技术跟不上硬件技术的进步,不能满足开发的要求时,导致软件开发
中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,从而导致了
软件危机。
原因:软件的规模越来越大,结构越来越复杂;软件开发管理困难且复杂;软件
开发费
83、简述软件产品的特性。
84、简述软件开发的本质及基本途径。
1、软件开发的本质可概括为:实现问题空间的概念;
2、和处理逻辑到解空间的概念;
3、和处理逻辑之间的映射;
4、实现这一映射的基本途径是系统建模
85、简述结构化分析建模的基本步骤。
1、建立系统环境图,确定系统语境;
2、自顶向下、逐步求精,建立系统的层次数据流图
3、定义数据字典
4、描述加工
86、简述 RUP中用况模型和分析模型的区别。
1、前者使用客户端语言来描述,后者使用开发语言来描述;
2、前者给出的是系统对外的视图,后者给出的是系统对内的视图;
3、前者使用用况给予结构化,后者使用衍型类给予结构化;
4、前者可以作为客户和开发者之间的契约,后者可以作为开发者理解系统的基础;
5、前者在需求之间可能存在冗余问题,后者不存在冗余问题;
6、前者捕获的是系统功能,后者给出的是细化的系统功能;
7、前者定义了一些需要在分析模型中给予分析的用况,后者定义了用况模块中每个用况的细化;
87、35.简述泛化的概念及其约束。
1、泛化是一般性类目和它的的较为特殊性目(子类)之间的一种关系,是"is-a-kind-of" 关系,UML给出以下4个约束;
2、完整
3、不完整
4、互斥
5、重叠
88、36.简述因果图方法生成测试用例的基本步骤。
1、通过软件规格说明书的分析,找出一个模块的原因和结构,并给每个原因和结果赋予一个标识符;
2、分析原因与结果之间以及原因与原因之间对应的关系,并画出因果图。
3、在因果图上标识出一些特点的约束或限制条件;
4、把因果图转换成判定表;
5、为判定表的每一列设计测试用例;
89、简述软件生存周期过程、软件生存周期模型、软件项目过程管理之间的关系。
1、软件生存周期过程回答软件开发需要做哪些工作;
2、软件生存周期模型回答软件开发活动或任务如何组织;
3、软件项目过程管理回答软件过程如何管理;
4、软件生存周期过程是软件生存周期模型和软件项目过程管理的基础;
5、软件生存周期模型为软件项目过程管理提供支持;
90、请用白盒测试法对题 39 图所对应的程序流程图进行测试。 要求从题 39 表给出的候选答
案中分别找出满足语句覆盖、 分支覆盖、 条件覆盖、 条件组合覆盖和路径覆盖 5 种覆盖标准
所需的最少测试用例。
1、语句覆盖
2、分支覆盖
3、条件覆盖
4、条件组合覆盖
5、路径覆盖
91、简述软件工程面临的问题。
答:内容:
①软件开发技术
②软件开发管理
面临的主要问题:
①软件费用
②软件可靠性
③软件维护
④软件生产率
⑤软件重用
92、简述可行性研究报告包含的主要内容。
1 技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能
实现。包括:开发的风险;资源的有效性;技术;开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
2 经济可行性:包括成本 ―― 效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
3 社会可行性包括:合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。
93、简述快速原型的开发步骤。
答:快速原型开发步骤可划分下列阶段:
(1)快速分析:迅速确定基本需求、集中力量确定需求说明。
(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。
(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的
理解,以发现各种问题。
(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。
(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改
并明确用户需求,再重新构造原型。
94、简述选择软件生存周期模型 (SLCM)的步骤。
(p228)
选择一个适合项目的生存周期模型的步骤可
概括为:
第一步:标识开发项目可用的 SLCM。其中应
考虑组织中可用的支持 SLCM的管理系统和工具。
第二部:在所期望的最终系统和开发环境中,
标识那些会影响 SLCM选择的属性。
第三部:标识为选择生存周期自考包过 q 模型
所需要的任何约束, 包括外部约束的或是内部的。
第四部:基于以往的经验和组织能力, 评估第
一步所选择的那几个 SLCM。
95、简述模块的控制域和作用域的概念以及她们的启发式原则。 (p61)
模块的控制域是指这个模块本身以及所有直接或间接从属于它的模块的集合。
模块的作用域是指受该模块内一个判定所影响的所有模块的集合。尽力使模块的作用域在其控制域之内。
96、简述提高软件考维护性的方法。
1、建立明确的软件质量目标
2、利用先进的软件开发技术和工具
3、建立明确的质量保证工作
4、选择可维护性的程序设计语言
5、改进程序文档
97、简述结构化程序设计的基本要点
答 :(1)、设计软件系统结构(简称软件结构)
a、采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b、确定模块的功能 。(功能)
c、确定模块之间的调用关系(调用)
d、确定模块之间的接口,即模块之间传递的信息。(接口)
e、评价模块结构的质量(质量)
(2)、数据结构及数据库设计
a、数据结构设计
b、数据库设计:(概念设计、逻辑设计、物理设计)
(3)、编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)、评审
98、如何理解模块独立性?用什么指标来衡量模块独立性?
答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
模块的独立性很重要:第一,有效的模块化(即具有独立的模块)的软件比较容易开
发出来。第二,独立的模块比较容易测试和维护。 模块的独立程度可以由两个定性标准
度量,分别是内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度;耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。
99、软件重用的效益是什么?
答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提高软
件开发的效率; 3) 节省软件开发的成本, 避免不必要的重复劳动和人力、 财力的浪费。
100、需求规约的作用是什么?
答:需求规约的作用可概括为以下 4 点:
1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
2)对于项目的其余大多数工作, 需求规约是一个管理控制点;
3)对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点;
4)需求规约是创建产品验收测试计划和用户指南的基础。
101、简述模块独立性的原则。
答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的,模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果,由耦合和内聚 2 个标准度量。
102、简述软件开发的本质以及基本途径。
103、简述需求的基本性质。
1.必要的 2.无歧义的 3.可测 (试)的 4.可跟踪的 5.可测量的
104、简述结构化设计中的启发式规则。
105、为什么说“UML 是一种可视化的建模语言,而不是一种特定的软件开发方法学”
106、简述 RUP 中迭代增量式开发的概念以及规定的开发阶段。
107、简述控制流程图的概念、基本元素以及它与程序流程图的差异。
108、假设某信息管理系统的业务是:将学员发来的信件收集分类后,按以下情况处理。
(1)如果是报名请求,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检
查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,
财务人员开出发票给学生。
(2)如果是注销请求,则由注销人员在课程文件、学生文件和账目文件上做相应的修改,
并给学生注销单。
(3)如果是付款请求,则由财务人员在账目文件上登记,也给学生一张收费收据。
请画出该系统的数据流图,并指出其包含的元素。
109、简述需求的基本性质。
1.必要的 2.无歧义的 3.可测 (试)的 4.可跟踪的 5.可测量的
110、简述软件开发的本质以及基本途径。
111、简述结构化设计中的启发式规则。
112、简述控制流程图的概念、基本元素以及它与程序流程图的差异。
113、简述软件开发的本质。
( 1)软件开发的目标是将问题域中的概念映射为运行平台层面上的概
念,把问题域中的处理逻辑映射为运行平台层面上的处理逻辑;
(2)软件开发就是要弥补问题域与运行平台之间的距离, 从而在两者之
间直接进行映射;
(3)软件开发的本质概括为: 不同抽象层术语之间的映射, 以及不同抽
象层处理逻辑之间的映射。
114、简述常用的初始需求发现技术。
115、简述变换设计与事务设计的区别及联系。
116、简述 CMMI 成熟度等级的概念、划分和组成。
117、简述验证和确认的定义、作用和区别。
118、什么是需求规约 ?简述需求规约的基本性质。
119、简述快速原型的开发步骤。
答:快速原型开发步骤可划分下列阶段:
(1)快速分析:迅速确定基本需求、集中力量确定需求说明。
(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。
(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的
理解,以发现各种问题。
(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。
(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改
120、软件生存周期可以分为几个阶段,每个阶段的提交物是什么?
(1)可行性研究和项目开发计划,提交项目开发计划
和可行性分析报告;
(2)需求分析,提交软件需求说明书;
(3)概要设计,提交概要设计说明书;
(4)详细设计,提交详细设计说明书;
(5)编码,提交源程序清单;
(6)测试,提交测试报告;
(7)维护,提交维护报告。
121、简述面向对象的特征。
(1)对象唯一性: 每个对象都有自身唯一的标识, 通
过这种标识,可以找到相应的对象。
(2)分类性:分类性是指将具有一致的数据结构 (属
性)和行为(操作)的对象抽象成类。
(3)继承性:继承性是子类自动共享父类数据结构
和方法的机制,这是类之间的一种关系。
(4)多态性:多态性是指相同的操作或函数、过程
作用于多种类型的对象上并获得不同的结果。不同
的对象收到同 一消息可以产生不同的结果。
122、简述黑盒测试技术的要点。 P186
答:黑盒测试技术的要点:
(1)支持测试工程模型的中间部分;
(2)事务流测试技术是将路径测试技术用于功能测试的产物,是一种实用的功能测试技术,通过事务的操
作逻辑发现软件中的错误;
(3)事务流测试技术是基于软件规约的,对错误的假定是软件通过了与预想不同的事务路径;
(4)基于事务的基本操作;事务流测试技术的最大问题和最大代价是获取事务流程图及用例设计;
(5)事务处理流程测试要达到基本的测试覆盖。
123、简述 RUP 中需求获取的基本步骤和相关制品。 P132
答:需求获取的步骤和相关制品:
第 1 步是列出候选的特征,相关制品是特征表;
第 2 步是理解系统语境,相关制品是领域模型或业务模型;
第 3 步是捕获系统功能需求,相关制品是用况模型( use case模型);
第 4 步是捕获非功能需求,相关制品是补充的需求或针对特殊需求的用况。
124、简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。 所谓系统建模, 是指运用所掌
握的知识,通过抽象,给出该系统的一个结构——系统模型。
125、简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
126、简述需求与需求规约的基本性质。
答:需求的基本性质:
1) 必要的,该需求是用户所要求的。
2)无歧义的,该需求只能用一种方式解释。
3 )可测的,该需求是可进行测试的。
4 )可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。
5 )可测量的,该需求是可测量的。
127、需求规约的基本性质:
1 )重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2 )可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单
一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。
128、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公
能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
129、有哪几种常用的初始需求发现技术?
答:有 5 种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。
130、简述需求规约的 3 种基本形式。
(1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达
需求规约,如同使用一种自然语言写了一篇文章。
(2) 半形式化的需求规约。 半形式化的需求规约即以半形式化符号体系 (包
括术语表、标准化的表达格式等)来表达需求规约。
(3)形式化的需求规约。 形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。
131、简述需求规约在项目开发中的基本作用。
答:需求规约的作用可概括为以下 4 点:
1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功
能及其环境的体现。
2 )对于项目的其余大多数工作,需求规约是一个管理控制点。
3 )对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点。
4 )需求规约是创建产品验收测试计划和用户指南的基础。
132、、简述需求规约和项目需求的不同。
答:需求规约和项目需求是两个不同的概念。 需求规约是软件开发组织和用户
之间一份事实上的技术合同书,即关注产品需求,回答“交付给客户的产品 / 系统是什么”;而项目需求是客户和开发者之间有关技术合同——产品 / 系统需求的理解,
应记录在工作陈述中或其他某一项目文档中,即关注项目工作与管理,回答“开发组要做的是什么”
133、 简述瀑布模型以及可适应的情况
瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品适应情况:需求已被很好的理解,并且开发组织非常熟悉为实现这一模型所需求的过程。
134、什么是验证和确认?简述它们的作用和区别
答:验证:证实一个过程或项目的每一个软件工作产品 / 服务是否正确地反映所规约的需求验证和确认是有区别的。
验证是通过提供的客观证据,证实规约的需求是否得以满足
确认是通过提供的客观证据,证实有关特定期望的使用或应用的需求是否得以满足软件确认过程:证实所期望的软件工作产品是否满足其需求
135、简述增量模型的优缺点
答:优点 1) 第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险
2) 由于很快发布第一个版本,因此可以减少用户需求的变更
3) 允许增量投资,即在项目开始时可以仅对一个或两个增量投资
缺点: 1) 如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定
2) 如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布
3) 由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力
136、简述螺旋模型以及它与其它模型之间的主要区别
答:螺旋模型是瀑布模型与深化模型的基础上,加入两者所忽略的风险分析所建立
的一种软件开发模型螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最
佳方案,遵循动作步骤并实施后续工作,突出特征,在开发的迭代中实际上只有一
个迭代过程真正开发了可交付的软件
2) 与深化模型和增量模型相比, 同样使用了瀑布模型作为一个嵌入的过程, 即分析、设计、编码、实现和维护的过程,并且在框架和全局体系结构方面是等同的。但是,螺旋模型所关注的阶段以及它们的活动是不同的, 如增加一些管理活动和支持活动。尽管增量模型也有一些管理活动,但它基于以下假定:需求是最基本的、并且是唯
一的风险源,因而在螺旋模型中增大了决策和风险的空间,螺旋模型扩大了增量模型的管理范围。
如果项目的开发风险很大或客户不能确定系统需求,在更广泛的意义上来讲,还包括一个系统或系统类型的要求,这时螺旋模型就是一个好的生存周期模型
137、简述专用实践与共用实践关系
答:专用实践: 每一个过程域中都有一个或多个“专用实践” ,这些专用实践被认为对于达到该过程域的专用目标是重要活动,即期望以专用实践所描述的活动,会导致达到一个过程域的专用目标
共用实践: 每一个过程域中都有一个或多个“共用实践” ,这些共用实践被认为对于达到该过程域相关的共用目标是重要活动,例如,对共有目标“该过程予以制度化,使之成为一个已管理过程“而言,一个共用实践是”为该过程的执行、工作产品的开发以及该过程的服务,提供充足的资源“。之所以称为“共用实践“,是因为同一实践可应用于多个过程。
138、简述开发过程的专用目标与专用实践
答:专用目标 1:SG1 开发客户需求, 2 个专用实践
SP1.1 引出要求 SP1.2 开发客户需求
专用目标 2:SG2 开发产品需求, 3 个专用实践
SP2.1 建立产品和产品构件的需求 SP2.2 分配产品构件需求 SP2.3 标识接口需求专用目标 3:SG3 分析并验证需求 ,5 个专用实践
SP3.1 建立操作概念和场景 SP3.2 建立所需功能的定义 SP3.3 分析需求 SP3.4 分析需求,达到权衡 SP3.5 确认需求
139、软件产品的特性是什么?
a.软件产品是一种逻辑产品。
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
c.软件产品不会用坏,不存在磨损、消耗问题。
d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。
e.软件费用不断增加,成本相当昂贵。
140、什么是软件工程?它的目标和内容是什么?
软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:
a.付出较低的开发成本;
b.面到要求的软件功能;
c.取得较好的软件性能;
d.开发的软件易于移植;
e.需要较低的维护费用;
f.能按时完成开发任务,及时交付使用;
g.开发的软件可靠性高;
141、软件工程的内容:
1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。
2)软件开发管理:软件管理学、软件经济学、软件心理学。
142、行性研究的任务是什么?
a.技术可行性:
考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。
b.经济可行性。
c.社会可行性。
2、可行性研究有哪些步骤?
a.确定项目规模和目标
b.研究正在运行的系统
c.建立新系统的高层逻辑模型
d.导出和评价各种方案
e.推荐可行的方案
f.编写可行性研究报告
143、可行性研究报告有哪些就要内容?
a.引言
b.可行性研究前提
c.对现有系统的分析
d.所建议系统的技术可行性分析
e.所建议系统的经济可行性分析
f.社会因素可行性分析
g.其他可供选择方案
144、什么是需求分析?需求分析阶段的基本任务是什么?
需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
需求分析阶段的基本任务是:
(1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.
(2) 分析与综合,导出软件的逻辑模型.
(3) 编写文档
145、什么是结构化分析方法?该方法使用什么描述工具?
结构化分析方法:是面向数据汉进行需求分析的方法。
描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。
146、.结构化分析方法通过哪些步骤来实现?
结构化分析方法步骤:
a.了解当前系统的工作流程,获得当前系统的物理模型.
b.抽象出当前系统的逻辑模型.
c.建立上标系统的逻辑模型.
d.作进一步补充和优化.
147、.画数据流图应该注意什么事项?
画数据流图注意事项:
a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.
b.画数据流而不是控制流.
c.一般不画物质流.
d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.
e.编号.
f.父图与子图的平衡.
g.局部数据存储.
h.提高数据流图的易理解性.
148、什么是字据字典?其作用是什么?它有哪些条目?
字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.
作用:1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.
2)为分析人员查找数据流图中有关名字的详细定义而服务的.
3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.
条目:数据流、数据项、数据存储、基本加工。
149、描述加工逻辑有哪些工具?
a,结构化语言b,判定表c.判定树
150、简述SA方法的优缺点。
优点:
1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。
2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利条件。
缺点:
1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统"做什么"的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。
2)SA方法在使用DFD在分析与描述"数据要求"方面是有局限的。
- DFD不适合描述人机界面系统的要求。
4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。
151、
152、
153、
154、
155、
156、
157、
158、
159、
160、
161、
162、
163、
164、
165、
166、
167、
168、
169、
170、
171、
172、
173、
174、
175、
176、
177、
178、
179、
180、
181、
182、
183、
184、
185、
186、
187、
188、
189、
190、
191、
191、
192、
193、
194、
195、
196、
197、
198、
199、
198、
199、
200、
201、
202、
203、
204、
205、
206、
207、
208、
209、
210、
211、
212、
213、
214、
215、
216、
217、
218、
219、
220、
221、
222、
223、
224、
225、
226、
227、
228、
229、
230、
231、
232、
233、
234、
235、
236、
237、
238、
239、
240、
241、
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。
151、
152、
153、
154、
155、
156、
157、
158、
159、
160、
161、
162、
163、
164、
165、
166、
167、
168、
169、
170、
171、
172、
173、
174、
175、
176、
177、
178、
179、
180、
181、
182、
183、
184、
185、
186、
187、
188、
189、
190、
191、
191、
192、
193、
194、
195、
196、
197、
198、
199、
198、
199、
200、
201、
202、
203、
204、
205、
206、
207、
208、
209、
210、
211、
212、
213、
214、
215、
216、
217、
218、
219、
220、
221、
222、
223、
224、
225、
226、
227、
228、
229、
230、
231、
232、
233、
234、
235、
236、
237、
238、
239、
240、
241、
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-Tj4F5OLw-1713605692981)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!