最下面有2022的软件工程与管理考题~
简答题
【2021】估算的要点(10分)
尽可能划分详细一些;
建立对估算结果的信心;
依赖数据;
估算是利益相关者达成共识的过程,而不是结果。
【2021】基于Yield构建预测模型(10分)
基于Yield指标构建缺陷预测模型,并列举该模型的可能改进方案【2013】
1. 目标:预测软件开发过程每个阶段的Inject Rate(缺陷注入率)和Yield(缺陷消除率)。
2. 改进方案:
需要机器学习算法、可视化技术以及跟踪和收集数据来提高缺陷预测模型的准确性。
3. 三个消除步骤是需求评审、设计评审和测试评审。
【2020】请解释客户需求和产品需求的概念并结合这两个需求的概念来解释V&V 活动的区别和联系。(本题满分 10 分)
客户需求和产品需求是两个不同的概念。客户需求指的是客户对产品或服务的要求,而产品需求指的是产品或服务为了满足客户的需求而必须具备的具体特征和功能。确认和验证(V&V)活动是确保产品或服务满足客户要求的过程,并且产品或服务适合其预期目的。确认活动通常用于检查产品或服务是否满足客户的要求,而验证活动则用于检查产品或服务是否适合其预期目的。换句话说,确认活动确保产品或服务符合客户的要求,而验证活动则确保产品或服务适合其预期目的。这两个概念是相关的,因为确认和验证活动都是用来确保产品或服务满足客户的要求并适合其预期目的。
验证(Verification)和确认(Validation)都是为了提升最终产品的质量而采取的措施。
验证和确认的目的不同。
验证:确保选定的工作产品与事先指定给该工作产品的需求一致。
确认:确保完成的产品或产品组件在将要使用的环境中正常工作。
第二讲 软件过程的历史演变和经典工作
为什么CMMI Agile是伪命题?(补充)
Agile是敏捷过程或方法,这是一种软件开发方法。
CMMI是过程管理模型。
”迭代式:大型软件系统的开发过程也是一个逐步学习和交流的过程,软件系统的交付不是一次完成, 而是通过多个迭代周期,逐步来完成交付。“中什么词最重要?
逐步学习和交流的过程:确保满足客户的反馈和期望。
瀑布模型
【2020】我们该如何正确理解瀑布模型?(本题满分12分)(原版)
【2021】如何理解瀑布模型(6分)
并非单一的模型,而是涵盖最简单场景到最复杂场景的一系列模型。
软件项目应该根据实际情况选择流程元素合适的瀑布模型。
软件项目团队经常低估他们项目的挑战,使用简单且不适用的瀑布模型。
Royce最初的模型不被关注(有尝试过程和回溯步骤),导致概念简单但官僚僵化的模型。
软件质量管理-复习总结_软件质量先行_SpriCoder的博客-CSDN博客
状态机
请用真值表检验从CheckPW状态出发的状态组合,并给出该状态机是否正确的明确结论和理由。(本题满分 10 分)
符合完整性:所有条件组合都包含在内,每一列都有东西。
违反正交性:同样条件组合的下一个状态需要唯一。
EVM挣值管理
整体提前了,这周的工作没达到计划,创造价值比预计的少,可能是低估了项目的难度
总体进度,通过to date看,Earned value to date这一项里Actual>Plan,说明迄今为止进度没有落后。
但是,Hours to date总共花的时间大于预期,每个小时预期创造0.3个价值,而实际每小时创造0.28的价值,说明实际工作效率不如预期,所以在下周或者过几周,这个项目的进度可能就会逐渐落后。
【2021】给一个挣值管理的图(4分)
项目进度如何?是提前还是落后?
项目有什么风险?
第一天需要完成50个值,第二天需要完成20个值,第三天需要完成30个值。
BAC:第一天50,第二天70,第三天100.
超期情况,EV:第二天50值,AC:第二天100值。
两天内输入了 100 个值,导致延误和成本超支。
CV = 50,SV = 20
有可能出现第二天用户说,任务B和任务C不做了(项目进度落后变为了项目进度正常)
这是某项目小组(总共5个人)应用挣值管理技术进行项目进度跟踪所产生的第七周周报数
据,请依据这些数据回答:
(1) 项目进度是否有偏差?偏差百分比多少?对应偏差日期约为多少周?(本题满分2分)
(2) 出现进度偏差的原因是什么?(本题满分2分)
(3) 原计划在17周完成,按照目前进度,预计什么时候完成? (本题满分2分)
(4) 如果还需要按照原定计划完成,在允许调整(增加或者减少)人员的情况下,可以怎么调整?为什么? (本题满分4分)
(1)项目进度有偏差,偏差百分比约为-20%,对应偏差日期约为-1.4周。
(2)出现进度偏差的原因可能是项目团队低估了工作的难度。
(3)根据目前进度,预计项目大约会在第23周完成。
(4)如果还需要按照原定计划完成,可以增加项目团队的人数或增加每个人的任务量,以提高效率与进度。
生命周期模型
生命周期模型和软件过程这两个概念有什么区别和联系?(本题满分8分)
①生命周期模型 ②软件过程
①是对②的人为划分,以突出验证和上游开发阶段之间的对应关系。(3’)
①是②的粗粒度划分,侧重于主要阶段而不是内部细节。(3’)
①侧重于管理实践,不包括技术实践。(2’)
软件质量管理-复习总结_软件质量先行_SpriCoder的博客-CSDN博客
敏捷宣言
请完整描述敏捷宣言(本题满分5分)
【2021】描述敏捷宣言(10分)
1. (1’)个体和交互 胜过 过程和工具
2. (1’)可以工作的软件 胜过 面面俱到的文档
3. (1’)客户合作 胜过 合同谈判
4. (1’)响应变化 胜过 遵循计划
换言之,尽管右边各项也具有重要价值,但是我们更注重左边各项。
extension://bfdogplmndidlpjfhoijckpakkdjkkil/pdf/viewer.html?file=https%3A%2F%2Fwww.ibm.com%2Fdownloads%2Fcas%2FLA8X1WJ9
【2015B】【2016】请结合SCRUM这种敏捷⽅法论述敏捷⽅法应该具备的特征?同时解释为何常见的若⼲种描述敏捷⽅法对⽴⾯的⽅法的特征(例如,严格、重型、计划驱动等等)并不合适?10’
【2015A】敏捷方法的特征有哪些?哪些关于敏捷特征的说法施加于敏捷方法之上是不合适的?为什么?10’
特点:小迭代周期、及时响应变化、自动化和价值交付。
对立面方法的特征解释:
1. 严格:所有优秀的工程方法都很严格。
2. 重型:同上,敏捷方法很难说是轻量级的或是重量级的(不是方法的准确描述),因为所有改变的方法都有局限性。
3. 计划驱动:所有正式项目都是计划驱动的,以反映计划的作用。
敏捷方法特征存在误导,如:
1. 轻量级方法:XP为代表的一类方法对工程规范有非常严格的要求.
2. 拥抱变更、变更驱动:软件工程应该拥抱变化,但在应对变化时要限制和管理变化。
3. TDD能提高开发质量:没有足够的证据证明这一点。
【2014】为何说将“规范方法”、“计划驱动方法”等特征作为敏捷方法的对立面带有很大的误导性质?如何通过多种维度改进这种对各类开发过程的理解?10’(原版)
这是因为敏捷方法并不排斥规范和计划,它们只是更加注重适应变化和快速交付价值。
严格的纪律和缺乏敏捷性会导致官僚主义和缺乏创新,而缺乏纪律的敏捷方法会导致不负责任的狂热和不稳定。因此,计划驱动的开发人员需要敏捷的思维方式和能力,而敏捷的开发人员需要有纪律的方法和实践来确保质量和可维护性。
TSP中的典型角色
【2021】TSP中的典型角色,描述其中五个角色的职责(10分)足迹开治国
项目组长
建立有效的团队,激励团队成员,处理问题,并提供完整的信息。
计划经理
制定团队计划和个人计划,每周汇报团队状态。
开发经理
开发出色的软件产品并利用团队成员的技能。
质量经理
项目团队遵循质量计划,进行审查并生成报告。
过程经理
团队成员必须准确记录和跟踪过程数据,并有适当的会议记录。
其他
支持经理
项目团队拥有正确的工具和环境,基准产品不允许未经授权的更改,跟踪风险和问题,并且项目团队实现了重用目标。
软件发展三大阶段
【2018】软件发展三大阶段的特点和主流开发方法
请结合软件发展的三大历史阶段,描述不同阶段的典型软件开发方法和实践?(本题满分10分)
- 软硬件一体化:(3’)
- 软硬件结合,线性时序过程,功能单一,复杂度有限
- measure twice cut once; Code and Fix; 编码和改错
- 软件作为独立的产品(3’)
- 独立于硬件、功能强大、兼容性要求,用户不断增长,需求不断变化,市场压力
- 形式化方法、结构化程序设计、瀑布模型、成熟度运动
- 网络化和服务化(4’)
- 功能复杂性、大规模、不确定的需求、不断变化的分发方式、服务化和网络化、开源和共享文化
- 迭代开发、敏捷开发、开源软件开发、DevOps。
软件质量管理-复习总结_软件质量先行_SpriCoder的博客-CSDN博客
项目管理&过程管理
【2018】软件项目管理和软件过程管理
软件项目管理:应用方法、工具、技术和人员能力来完成软件项目和来实现项目目标的过程。
软件过程管理:对软件过程进行管理,以提高效率和质量。
CMMI模型, PDCA模型
请描述CMMI模型的5个等级的特征,并且解释为何CMMI模型不应该是敏捷方法的对立面(本题满分12分)
五个级别:初始、管理、定义、量化管理和优化。(原版)
初始:个人驱动的、缺乏流程规范、救火文化。
管理:项目团队表现出项目管理特征
定义:建立标准流程规范,使团队能够定义流程并共享良好实践。
定量管理:使用预测模型和统计过程控制工具来管理项目进度。
优化:使用统计方法来识别和消除过程问题。
https://blog.csdn.net/qq_44202160/article/details/123862937
原因解释:(原版)
CMMI:提供结构和稳定性的过程改进模型。
敏捷方法:持续改进和快速响应的开发方法。
应一起使用以实现更好的开发过程,学习其他技术来改进项目。
https://resources.sei.cmu.edu/asset_files/TechnicalNote/2008_004_001_14924.pdf
【2015B】【2016】请描述PDCA模型的主要步骤(5分)
分析现状,找出原因;制定落实措施计划;检查效果;总结经验,补充标准,将遗留问题转入下一个PDCA循环。
自主型团队
请结合软件开发的特点介绍软件项目管理中自主型团队的必要性以及自主团队应该具备的特征(本题满分5分)
软件开发的特点:一个复杂的创造性过程,涉及抽象概念并将不同部分集成到一个工作系统中。
必要性:自治团队形成果冻状团队,相互支持、引导、信任,具有强烈的归属感。
特点:自主确定项目目标、团队组成、开发战略、开发过程、开发计划,以及衡量、管理和控制项目工作。
软件质量管理-考试复习总结_SpriCoder的博客-CSDN博客
DevOps
【2021】简述DevOps实践、方法、技术(10分)
典型软件过程和实践:DevOps
软件敏捷开发方法论、精益思想、看板KanBan方法、领域驱动设计、微服务架构、虚拟化技术,一切都是服务XaaS理念指导,强大的工具链支撑自动化。
【2016】Devops三个步骤(另一种)(原版)
从左到右快速流动——优化流程、加速软件交付并降低风险。
从右到左快速反馈——及时发现并解决问题。
持续学习——利用数据和反馈不断改进流程和实践。
【2018】Devops的特点,为什么流行?
敏捷开发、精益思维、看板方法、微服务架构设计、工具链支持和虚拟机技术。快速开发、交付、迭代和演化。
DevOps是一种文化和方法,强调软件开发人员和其他IT专业人士之间的协作、自动化和沟通。它的目的是提高软件开发和部署的速度和质量,同时确保代码的可靠性和安全性。DevOps之所以受欢迎,是因为它能够使团队快速有效地交付软件,并且注重协作、自动化和沟通。此外,它提供了一个对代码进行修改的精简过程,这可以使软件产品的效率和质量得到提高。
PROBE&通用计划框架
请简要描述按照通用计划框架,为了开发合理的项目计划,应该要做哪些估算?PROBE方法充当了什么角色(本题满分8分)
估算框架如上图
虚线框即为PROBE,用来完成规模和资源的评估
https://blog.csdn.net/qq_44202160/article/details/123862957
请描述一下PROBE方法的基本原理和过程,并解释在应用PROBE A法估算时间的时候,为什么不用历史数据中的生产效率数据(本题满分10分)
为什么时间估算的偏差产生原因更加复杂:一方面和规模有关,另一方面和人的主观能动性有关。(2’)
基本原理(4’):2点
代理使用相对大小而不是绝对大小,在早期规划所需的精确度量和指标之间架起了一座桥梁
PROBE方法的过程(4’):流程图
概要设计:确定产品特性和生产它们所需的组件/模块,将它们与现有程序进行比较,估计它们的大小,并将它们组合起来得出总大小。
原因:在估算资源需求时,生产率通常在分母中,这会由于个别软件工程师的生产率波动而导致大范围的估算偏差。
软件质量管理-考试复习总结_SpriCoder的
请描述PROBE A B C D方法在估算规模的时候,对历史数据的质量有什么要求?(本题满分10分)
规模估算
估计程序的大小通常是根据历史数据完成的,例如代理大小和实际程序大小。这是因为偏差可以用来修正新的估计结果。对历史数据进行规模估算的要求如下:
软件质量管理-考试复习总结_SpriCoder的博客-CSDN博客
PROBE A B C D 方法需要使用高质量的历史数据来估算规模。这些数据必须完整、准确、可靠,并且客观地反映现实。它还必须准确反映给定时期的规模以及时期之间的变化情况。
关于PROBE估算法,下述各种说法中,不正确的有哪些?
PROBE方法不需要历史数据。
PROBE估算结果带着小数,肯定不准确,因而, 不应该在项目估算的时候使用。
PROBE不能给出精确估算,因而适合用来跟用户讨论需求和规模。
PROBE方法不能用来估算质量。
度量元
【2014】如何对某个软件产品组件进行产品质量评价?可以选择哪些度量元,这些度量元如何辅助判断产品组件的质量? 8’
Yield 指标用以度量每个阶段在消除缺陷方面的效率
A/FR(Appraisal to Failure Ratio)是一个质量检验指标,用来衡量成功鉴定与失败鉴定的比率。
PQI:过程质量指标,用于提高最终产品的质量水平。
Review Rate:质量指标,用于衡量软件工程师花在审查上的时间。
DRL(缺陷消除效率比):衡量缺陷去除活动的有效性。
http://images.china-pub.com/ebook3765001-3770000/3767296/ch03.pdf
【2015A】请结合A/FR、PQI、Review Rate、DRL、Yield尽可能具体描述⼀个软件项⽬应该如何从多⽅⾯来确保开发的⾼质量?
安排个人和小组审查活动,以确保满足 A/FR、PQI 和其他指标的要求。评审时间应该多于测试时间的两倍以上(A/FR);评审时间应为相应开发时间(PQI)的50%。评审速度要求(Review Rate)。应尽早制定质量补救措施,以满足PQI的缺陷密度的要求。通过Yield等指标判断和控制开发质量,建立质量预测模型。
解释过程度量项定义时应当注意的方面,并且据此评价PSP基本度量元的合理之处?6’
注意的方面:范围、定义、目标值、收集方法、报告方法和持续改进措施。
PSP 基本指标在时间、缺陷、规模、日程方面是合理的,并且是可操作的、可量化的和可测量的,以提供准确的评估。
Software Process and Management (github.com)
Answers.md (github.com)
【2013】【2018】解释PQI指标,如何计算,如何使用过程质量指数(PQI)
PQI 是用于衡量软件过程整体质量的指标。它由五个指标组成:设计、设计审查、代码审查、代码质量和程序质量。计算为 0.0 到 1.0 之间的值。当PQI值大于0.4时,组件的质量趋向于较高,当较低时,检查数据发现特定方面较低以进行改进。
用途:判断模块开发的质量,规划质量活动,过程改进。
质量管理和缺陷管理
【2014】请区分质量管理和缺陷管理之间的联系和差异,并解释为何在软件开发中将质量和生产效率两者进行妥协不合适?6’
相关的:确保产品或服务的质量。
质量管理:防止缺陷的发生。
缺陷管理:识别并纠正已发生的任何缺陷。
不可取的,质量应优先于生产力以确保客户满意度,而冲突管理对于质量控制也至关重要。
https://gist.github.com/Cee/743e8e6bfdb84e7d46d5
https://blog.csdn.net/qq_44202160/article/details/123862937
【2018】什么是面向用户的质量观?这对质量管理的策略有什么影响?
以用户为中心的质量观将质量定义为满足用户需求的程度,强调质量的主观性。
对质量管理策略的影响:需要开发者在开发过程中考虑用户的优先级,衡量质量的高低。
质量路径Quality Journey
【2014】为了追求极高的软件产品的质量目标,可能有的方法和这些方法的先后顺序分别是什么?8’(质量路径)
质量路径 Quality Journey
各种测试
测试前的产品质量改进
审查过程指标和稳定性
质量意识和主人翁态度
个体review的度量和稳定
诉诸设计
缺陷预防
用户质量关 —— 其他质量属性
描述用途
描述用途Docker, Jenkins, JIRA, SonarQube, Git
Docker 容器平台,允许用户将他们的应用程序和依赖项打包在一个容器中。
Jenkins 自动化服务器,用于自动执行构建、测试和部署应用程序等任务。
JIRA 项目管理和问题跟踪系统。
SonarQube 代码质量和安全平台。
Git 版本控制系统,可帮助开发人员协作和跟踪更改。
概念解释 CI/CD, Pipeline Orchestration, Container, Micro Service, A/B Testing, GitFlow(原版)
CI/CD:用于自动化构建、测试和部署软件的方法。
流水线编排:保证CI/CD流程高效可靠的过程。
容器:虚拟化技术。
微服务:面向服务的架构。
A/B测试:比较应用不同版本的技术。
GitFlow:分支用于管理软件开发过程的模型。
【2014】请解释规模估算和资源估算中估算偏差含义之间的差异,并据此简要列举对软件开发活动的启发?
工作量与实际工作量之间的差距 VS 资源数量与实际资源数量之间的差距。
启发:编写描述准确的需求文档,监控估算偏差,并及时分析以避免延误。
【2018】什么是云原生?相关的重要的概念
云原生是一种基于微服务架构的技术,能够以自动化的方式部署、运行和管理应用程序和服务。
它包括微服务、容器、容器化、服务网格、自动化、API 网关和 API 管理。
【2018】精益屋的两大支柱?
准时化是在生产系统的所有阶段和流程中按时按需生产和交付产品。自动化与自働化的不同之处在于,前者需要人工操作员在机器出现故障时将其停止,而后者机器本身可以确定是否需要自动停止以应对异常情况。
丰田精益屋:一个屋顶、两大支柱与一大地基 – HR学堂 (djsbq.com)
【2018】JIT及时生产,价值流和价值拉动的关系
目标:消除不必要的生产流程,专注于增值步骤,以提高效率和质量。
需以下二者实现。
价值流:将产品或服务从开发到交付所需的步骤和活动。
价值拉动:协调部门之间的材料和信息流,以确保只生产所需的产品。
对比度量方式 LOC 和 FP
LOC(行数)和 FP(功能点)。
LOC 是对应用程序大小的技术度量
优点:软件开发项目的原始产品,很容易计算。
缺点:其结果有偏差,不适用于非过程语言,不利于代码量小的程序,难以估计。
FP 是反映应用程序复杂性的功能度量
优点:独立于编程语言,适用于过程和非过程语言,并基于项目开发开始时可用的数据。
缺点:主观而非客观数据。
随着产业分工的增加,基于LOC的度量逐渐失去意义,而基于FP的度量则显得更符合要求。
质量实践和质量管理是不一样的
质量实践包括测试等等
质量管理是质量管理,而不是实践,涉及目标、状态和纠偏措施。
为什么精确的度量方式往往不便于早期规划,而有助于早期规划的度量往往难以产生精确度量结果?
A:由于项目的不确定性,很多细节都不能够确定。
A:更好地反映项目的当前状态,使规划更容易。然而,由于不同开发阶段的度量方式不同,因此很难产生准确的指标。
定量管理与仿真建模
下列描述中可能是子过程性能的是:AB
需求评审消除缺陷的百分比;
单元测试消除的缺陷密度;
验收测试后暴露的缺陷数;
代码评审速度;
统计技术
以下各种定量管理技术当中,属于非统计技术的是:A
帕累托分析;
控制图;
假设检验;
方差分析法;
以下定量管理技术中,属于统计技术有:AC
预测区间分析;
饼图;
敏感性分析;
因果分析;
不定选择题
第一讲 概述
关于Brooks提及的软件开发本质难题,下列说法中不准确的是。AB
A.本质难题总共有四个,分别为复杂、不可见、可变和质量挑战
B.既然是本质难题,那就说明是根植于软件开发本身,因而是不可能在软件开发当中得到缓解
C.严格来说,只有不可见才是真正的“本质”难题,其他三个因项目而异
D.四大本质难题贯穿软件发展的不同历史段,但是在不同历史阶段,相互凸显程度不一样
下列软件应用和开发的典型特征中属于软硬件一体化阶段的是?BC
A.可以通过引入操作系统,摆脱了硬件束缚
B.几乎不需要考虑需求变更
C.缺乏科班的软件工程师
D.系统兼容对应软件开发的成败非常关键
下列哪些项不属于管理活动应该包含的要素?C
A.成本
B.质量
C.目标
D.工期
下列名词和术语中不属于软件过程的有哪些?D
A.SCRUM
B.CMM/CMMI
C.GATE方法
D.IDEAL
术语scrum、CMM/CMMI和门方法都与软件过程有关,而IDEAL则不然。
IDEAL模型是一种软件过程改进模型,旨在帮助软件开发人员更有效地完成任务。
【2015B】CMM的创始⼈是哪位_____? C
Boehm
Juran
Humphrey
Crosby
【2015B】XP规定开发⼈员每周⼯作时间不超过___⼩时,连续加班不可以超过两周,以免降低⽣产率?(B)
30
40
50
60
下列不属于看板方法典型实践的是?D
A.可视化工作流
B.站立式会议
C.限定WIP
D.重构
第二讲 软件过程的历史演变和经典工作
“Measure twice, cut once”描述的是下述哪个软件开发场景:(B)
A.软件设计; B.代码评审; C.需求开发; D.V&V;
强调了在应用更改之前仔细检查代码以在问题成为主要问题之前识别和纠正问题的重要性。
V&V软件测试:验证和确认
整体来看,我们可以把软件的发展分为三大阶段, 以下不属于三大主要阶段的是:(C)
A. 软硬件一体化; B. 网络化和服务化; C. 云计算化和云原生; D.软件成为独立产品;
以下描述中,不属于软件开发本质困难或者本质挑战的是: (A)
A. 质量难题; B. 复杂性; C. 不可见; D.一致性;
以下描述中,哪一种实践是软硬件一体化阶段的典型实践:(A)
A.Code and Fix; B.迭代式开发; C.瀑布生命周期模型; D.成熟度模型;
第三讲 团队动力学
对比TSP和SCRUM,下列说法不恰当的是: (C)
A. 都是过程框架,需要填补具体实践之后才是一个可以工作的过程;
B. 一种是计划驱动方法,另外一种是敏捷方法;
C. SCRUM适合迭代式场景,TSP适合瀑布场景;
D. 两种方法都需要进行度量数据收集、分析,从而支持管理决策。
以下特征适用麦克勒格Y理论(McGregors Theory Y)激励的场合是: (D)
A. 关注工作环境,薪金等;
B. 更喜欢经常的指导,避免承担责任,缺乏主动性
C. 自我中心,对组织需求反应淡漠,反对变革
D. 能够自我约束,自我导向与控制,渴望承担责任
以下关于马斯洛的需求层次理论描述不正确的是:(D)
A. 自我实现是寻求自尊(Esteem)
B. 激励来自为没有满足的需求而努力奋斗
C. 低层次的需求必须在高层次需求满足之前得到满足
D. 满足高层次的需求的途径比满足低层次的途径更少
以下关于团队动力学的论述,不恰当的是: (A)
A. 马斯洛的需求层次理论可以用来更好地维持激励水平;
B. 智力工作的激励方式中,应该尽可能使用鼓励承诺这种方式;
C. 麦克勒格的X理论适合用马斯洛底层需求激励;
D. 海兹伯格的激励理论区分为内在因素和外在因素两种
解释:A. 马斯洛的需求层次理论可用于指导激励手段的选择,不是激励维持手段
第四讲 估算、计划和跟踪
下述关于WBS的描述中,哪些说法不正确的? (A)
A.WBS应该对应OBS
B.WBS提供了范围管理的基础
C.WBS工作分解最底层的要素是实现目标的充分必要条件
D.WBS分解的时候,同一层不能应用不同标准
下述关于EVM的描述中,哪些说法不正确的? (B)
A.EVM不适用于质量管理
B.EVM的中级实现中引入成本信息
C.EVM高度依赖估算准确
D.EVM可以适应需求变更
EVM: earned value management,挣值管理。顺序:进度信息、日程偏差、实际成本。
第五讲 质量管理
关于PSP质量管理策略,下列说法中正确 的是: (ABD)
A. 用缺陷管理替代质量管理,既有必要性,也有合理性;
B. 基本无缺陷的开发是通过开展高质量的评审来实现的;
C. 经过训练,评审是所有消除缺陷的手段当中最高效的;
D. PSP质量策略主要解决的是外部质量,而非内部质量;
解释:
C:编译消除的效率高于评审的
D:软件质量既有内部质量也有外部质量,外部质量面向最终用户,内部质量则不然。 (《 代码大全》)PSP 使用面向用户的视图。
关于DRL,下列说法中不正确的是: (CD)
A. 这是一种模块级开发中质量控制的指标
B. DRL以单元测试每小时发现缺陷率作为基准,考察上游其他缺陷消除阶段的消除效率;
C. DRL以单元测试发现的缺陷个数作为基准,考察上游其他缺陷消除阶段消除缺陷的效率;
D. DRL只能预测,不能度量
解释:
C:每小时!
D: DRL可以进行度量;虽然每小时注入多少不可知,但是每小时消除多少是可知的。
关于PQI,下列说法中不正确的是: (BCD)
A. PQI表征模块级别开发中的过程规范化程度
B. PQI越高越好,可以充分保障质量;
C. PQI越低越好;
D. PQI不能用作质量规划
B:错的,代价;超过0.4就好。
关于PQI,下列说法中正确的是: (AB)
A. PQI可以辅助判断模块开发质量
B. PQI可以提供过程改进的依据
C. PQI确保大于1,从而确保开发质量;
D. PQI只能预测,不能度量
关于Yield,下列说法中正确的是: (ABCD)
A. Yield可以辅助判断模块开发质量
B. Yield可以提供过程改进的依据
C. Yield区分为Process Yield和Phase Yield;
D. Yield只能预测,不能度量
关于评审速度,下列说法中正确的是: (C)
A. 进行代码评审的时候,控制评审速度不超过每小时1000LOC就能实现大部分质量要求;
B. 实战中,评审速度应该根据资源水平而定,时间充分就评审慢一些;
C. 文档评审速度应该控制每小时不超过4页;
D. 评审速度与人的技能有关,技能强的人可以突破每小时1000 LOC代码这个限制;
关于Humphrey梳理的Quality Journey,下列说法中正确的是: (CD)
A. Quality Journey中列出的步骤可以在适当的时候更换顺序;
B. 由于需求是一切工程活动的基础,因此加强需求开发应该是Quality Journey早期的必备步骤;
C. Quality Journey仍然仅仅是在“用缺陷管理替代质量管理”这一基本策略之下进行讨论;
D. Quality Journey中测试应该先于评审得到贯彻和改善;
D:正确,测试更好实施
下述设计模板中用来记录内部动态信息的是: (B)
A. OST; B. SST; C. LST;D. FST;
下述关于PSP四大设计模板和UML典型设计图 的描述中完全正确的是: (B)
A. OST在UML中没有对应的设计图;
B. UML中的类结构以及类之间的关系,在PSP四大设计模板中无法体现;
C. LST在UML中可以通过类图来体现;
D. FST在UML中可以通过类图来体现;
B,UML中的时序图和类图所描述的类之间的关系以及对象之间的交互信息在PSP4个设计模板中没有对应的内容。
一个完全正确的状态机应该满足: (ABC)
A. 没有死循环和陷阱;
B. 状态转化条件满足正交性;
C. 状态转化条件满足完整性;
D. 状态转化条件满足独立性;
下列关于各种设计验证手段的描述中正确的是: (C)
A. 执行表是唯一一种提供全面设计验证的手段;
B. 跟踪表是唯一一种提供全面设计验证的手段;
C. 受限于手工方式,都易于出错;
D. 符号化执行验证不适合复杂的计算过程;
D,书p89,“这种方法通常用在验证一些复杂算法中“、”但是这种验证方法不适用于有复杂逻辑的场合“
关于使用程序正确性证明手段验证while-do循 环设计的描述中,正确的是: (ABCD)
A. 如果设计是正确的,那么应满足的条件之一是循环判断条件最后一定可以变为false;
B. 如果设计是正确的,那么应满足的条件之一是循环判断条件为真的时候,单独的循环结构执行结果与循环体再加一个循环结构,其执行结果一致;
C. 如果设计是正确的,那么应满足的条件之一是循环判断条件为false的时候,循环体内所有变量不能被修改;
D. 该方法并不能保证循环体算法实现设计意图。
第六讲 团队工程开发
下面描述属于典型客户需求的是: (ABC)
A.客户期望; B. 预算限制; C.法律法规限制; D.系统功能描述
在团队设计活动中,应该注意设计标准,下列属于典型的设计标准应该约定的是: (ABCD)
A.命名规范; B.接口标准; C.出错或者异常处理信息; D.设计表示方式
典型地,在团队设计活动中,应该注意哪些内容: (ABCD)
A.设计标准的应用; B.复用的考虑; C.可测试性支持; D.可用性支持
关于集成策略,下述描述中正确的是: (BCD)
A. 当待集成组件质量普遍不高的时候,不可以使用扁平化策略;
B. 当需要尽早获取可以工作的组件的时候, 应该使用集簇式策略;
C. 当待集成组件质量普通较高的时候,可以使用大爆炸式集成策略;
D. 持续集成本质上就是逐一添加策略。
当考虑集成策略的时候,应该注意如下哪些方面?: (AC)
A. 待集成组件的质量状态;
B. 待集成组件的获取方式;
C. 待集成组件的功能和关系;
D. 待集成组件的数量
关于扁平化集成策略和集簇式集成策略,下述说法中正确的是: (ABCD)
A. 扁平化策略可以较早地充分地暴露系统级别的错误;
B. 扁平化策略对于系统级别错误的暴露能力有限;
C. 集簇式集成策略有助于复用策略的实现;
D. 扁平化策略和集簇式策略的优缺点正好相反;
A,扁平化集成策略可以尽早发现系统层面的缺陷。 B,扁平化继承策略的测试方式往往不能覆盖整个系统应该处理的多种状态。
下述活动是典型的验证(Verification)的是:(BC)?补充
A. 需求评审;
B. 详细设计评审;
C. 单元测试;
D. 试运行;
一般将早期对于产品需求的评审工作和最后的验收测试作为确认工作,其他的评审和测试工作当成是验收工作。
下述活动是典型的确认(Validation)的是: (A)
A. 验收测试;
B. 代码评审;
C. 系统测试;
D. 持续集成;
下述产物中属于典型的确认(Validation)对象的是: (BCD)
A. 接口设计文档;
B. 源代码;
C. 用户手册;
D. 系统使用培训材料(视频、录像等);
需要向客户提交的工作产品是确认的对象。
下述关于需求开发的描述中,哪些是正确的? (B)
A. 客户需求是指客户提出的关于软件功能的具体要求
B. 工期或者预算往往都是客户需求的一个方面
C. 产品需求需要跟客户充分讨论才能获取
D. 客户应该在需求开发活动中起到主导作用
第七讲 项目支持活动
下述产物中属于典型的配置项是: (ABCD)
A.接口设计文档; B.源代码; C.用户手册; D.系统使用培训材料(视频、录像等);
团队内部的配置审计通常应该关注什么: (ABCD)
A.物理审计; B.配置项列表; C.配置管理记录; D.基线计划;
下列关于决策分析的论述中,不恰当的是: (BD)
A. 决策分析指南中最关键的是明确需要开展决策分析活动的判定标准,即什么场合之下需要开展正式的决策分析活动;
B. 评价方法是体现决策者利益诉求的关键,因此,需要谨慎设计;
C. 候选方案的识别应该晚于于评价标准;
D. 现实生活中的项目投标就是一个典型的决策分析活动;
b:是评价标准
d:应该是招标
下列关于根因分析的论述中,不恰当的是: (AD)
A. 根因分析必须基于丰富的数据来选择合适的问题;
B. 鱼骨图是根因分析的有效手段;
C. 典型地,可以从技术、人员、培训以及过程角度开展根因分析;
D. 根因分析活动终止的唯一特征就是找到相应的根因的明确解决方案;
a:没有数据,依靠主观判断也可以
d:若解决方案没有找到,也算作结束
其他
下列术语描述的技术或者方法是同类型的是?CD
A.CMMI SPICE PDCA
B.IDEAL XP SCRUM
C.Cleanroom Gate TSP
D.Waterfall SCRUM XP
https://blog.csdn.net/qq_44202160/article/details/123862937
在TSP的团队组建过程中,确定软件开发策略的是第几次会议?C P62
A.第一次
B.第二次
C.第三次
D.第四次
下列描述当中,属于过程经理的工作内容有哪些?AC P79
A.建立团队的开发标准
B.主持项日周例会
C.记录周例会的会议记录
D.制定开发计划
下列关于挣值管理方法的描述中错误的是?P156 P161 C
A.这是一种可以用来跟踪项目预算消耗的方法
B.这种方法高度依赖估算准确性
C.这种方法可以支持质量管理
D.这种方法可以用来跟踪项目进度
C:挣值管理方法不支持质量管理,因为它们关注的是成本节约而不是质量改进。他们必须找到将质量考虑在内的正确解决方案来支持质量管理。
完成一份完整的项目日程计划,需要下列哪些信息?ABD P145~148
A.任务清单
B.任务顺序
C.质量要求
D.人员资源水平
无答案
PROBE方法估算规模的时候,下列说法不恰当的是:AC
PROBE A 方法要求三组以及三组以上的代理规模数据和实际规模数据,且要求其相关性R²大于等于 7;
PROBE C 方法仅仅需要根据上一次项目中估算值和实际值的比例进行调整即可;
应用 PROBE A 方法的估算结果一定会好于 PROBE B 方法;
PROBE 方法的优势之一是采取了相对大小,而非绝对大小,辅助估算着思考和判断;
软件过程基础_PROBE - 百度文库 (baidu.com)
下列指标中适合用作风险参数的是:ABC
发生概率;
影响程度;
风险系数;
触发阈值
下列关于挣值管理方法的描述中正确的是:ABC
A. 挣值管理中进度的计算可以区分悲观和乐观两种方式;
B. 挣值管理的简单、中级和高级实现三种方式中,只有高级实现才会涉及成本因素;
C. 挣值管理与项目类型无关;
D. 挣值管理不适用与需求频繁变更的软件项目管理当中
下列描述中属于定量管理场景的是:AD
我们通过控制关键子过程的性能来确保项目整体目标的达成;
我们分析了导致生产效率不稳定的因素,并采取措施避免再次发生;
我们通过每天站立式会议和周例会控制项目进度偏差不超过 20%;
我们通过挣值管理方法来确保进度和成本与预期相符;
如上图,完全基于 Phase Yield 来构建一个缺陷预测模型,下列数据中必不可少的是:B
每个注入缺陷阶段缺陷注入速度(个/小时);
每个缺陷消除阶段消除的缺陷个数;
每个阶段中从上游阶段遗留下来的缺陷比例;
每个缺陷消除阶段消除缺陷的比例;
Phase Yield = 100 * (某阶段发现的缺陷个数)/(某阶段注入的缺陷个数+进入该阶段前遗留的缺陷个数)
通过软件过程建模和仿真,有助于完成下列哪些工作:ABD
编制项目计划;
编制项目质量管理计划;
项目经理培训;
组织技术革新;
下列步骤当中,不属于建模典型步骤的是:C
定义和选择结果变量;
对过程进行抽象;
规划过程改进计划;
选择输入参数;
下列方法中,属于仿真技术的有哪些:BC
专家系统;
蒙特卡洛方法;
系统动力学方法;
假设检验方法;
上图是控制图的示例图,中心线(CL)两侧按照±σ,±2σ和±3σ分成 ABC 三个区域,以下描述中,属于要进一步探索的异常过程症状的是:C
连续 4 个点呈现上升或者下降趋势;
连续 8 个点在中心线两侧,但是没有一个点在 C 区域;
连续 3 个点中有 2 个落在中心线同侧的 B 区以外;
连续 6 个点在中心线同一侧;
下列关于 CMMI 五个成熟度级别的描述中,不属于任何级别的是:A
Performed;
Managed;
Optimizing;
Defined
⭕/❌
第一讲 概述
❌软件过程管理是软件项目管理应该要实现目标:
软件过程管理和软件项目管理完全是两回事,因此并不是实现目标。
⭕在公司导入敏捷过程是我们今年过程改进的主要目标:
过程管理和过程改进是类似的。这个说法在概念上是合适的,但是操作的时候可能存在问题。
❌XP与CMM/CMMI是对立的两种软件开发方法:
CMM和CMMI并不是软件开发方法,而是软件过程管理和改进,CMM和CMMI是没有较大区别的。
XP的观念确实与严格的CMM/CMMI是对立的(XP是软件开发方法,敏捷的)
⭕CMM/CMMI不适合当今互联网环境的项目管理需求:
CMM/CMMI是用来做过程管理和改进的,根本不是满足项目管理需求的手段。
❌PDCA和IDEAL不适合在敏捷环境中使用:
PDCA,IDEAL是软件过程改进参考元模型,因此是适合在敏捷环境中使用的。
❌不同的软件开发过程应该使用不同的生命周期模型,反之亦如此:
生命周期模型是由人类划分的,不一定。
第二讲 软件过程的历史演变和经典工作
⭕CMMI是过程改进模型而非软件过程或者软件过程模型。
CMMI是软件过程管理模型,与过程改进模型意义相近。
⭕CMMI不是过程优劣的标准,也不适合用作公司之间的能力比较。
2022年软件过程与管理考题期末
非选题
和往届题目很像,需要背一下。
简答题
一、判断+解释
⭕在公司导入敏捷过程是我们今年过程改进的主要目标
过程管理和过程改进是类似的。这个说法在概念上是合适的,但是操作的时候可能存在问题。
⭕CMM/CMMI不适合当今互联网环境的项目管理需求:
CMM/CMMI是用来做过程管理和改进的,根本不是满足项目管理需求的手段。
❌PDCA和IDEAL不适合在敏捷环境中使用:
PDCA,IDEAL是软件过程改进参考元模型,因此是适合在敏捷环境中使用的。
二、项目领导者所具备的特质是什么?(感觉和项目组长很像…)
三、谈谈对于敏捷宣言的理解。
四、EVM三个阶段早期、中级、高级分别讨论所具备的特质。(没整理到…)
五、XX估算要点是什么?(忘记前面XX是什么了…)
六、CMMI的五个步骤:为什么后面两个步骤称为高级,和前面三个步骤本质的区别?(区别没整理到…)
七、ChatGPT的出现对于软件工程和人工智能产生什么挑战,根据课程所学问题谈谈,需要包含项目管理、过程管理、质量管理