💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
前言
小郑正在备考2024年下半年的初级软件设计师,所以打算开展一个软考备考专栏,在这里记录一下备考笔记以及习题,也希望大家能一起加入我们的软考备考之中,互相学习,一起进步。让我们快马加鞭,投入备考之中吧。
1.软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是(B)。
A.建立基本的项目管理和实践来跟踪项目费用、进度和功能特性
B.使用标准开发过程(或方法论)构建(或集成)系统
C.管理层寻求更主动地应对系统的开发问题
D.连续地监督和改进标准化的系统开发过程
A:可重复级 C:已管理级 D: 优化级
2.SEI能力成熟度模型(SEICMM)把软件开发企业分为5个成熟度级别,其中(C)重点关注产品和过程质量。
A.级别 2:重复级
B.级别 3:确定级
C.级别 4:管理级
D.级别 5:优化级
CMMI 连续型模型
3.
答案:C
能力等级0指未执行过程,表明过程域的一个或多个特定目标没有被满足;
能力等级1指过程通过转化可识别的输入工作产品,产生可识别的输出工作产品,关注于过程域的特定目标的完成;
能力等级2指过程作为已管理的过程制度化,针对单个过程实例的能力;
能力等级3指过程作为已定义的过程制度化,关注过程的组织级标准化和部署
能力等级4指过程作为定量管理的过程制度化;能力等级5指过程作为优化的过程制度化,表明过程得到很好地执行且持续得到改进
4.
关于过程改进,以下叙述中不正确的是_(D)。(2011 年上半年)
A.软件质量依赖于软件开发过程的质量,其中个人因素占主导作用
B.要使过程改进有效,需要制定过程改进目标
C.要使过程改进有效,需要进行培训
D.CMMI成熟度模型是一种过程改进模型,仅文持阶段性过程改进而不支持连续性过程改进
5.
某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中,(B) 最适合开发此项目。
A.原型模型
B.瀑布模型
C.V模型
D.螺旋模型
解析:题目说 具备了相关领域及类似规模系统的开发经验,说明需求比较明确,而且也不会有特别大的变动 所以选瀑布模型更适合。(需求明确 变更较少) v模型更侧重“质量 测试”
6.
软件开发的增量模型 (B)
A.最适用于需求被清晰定义的情况
B.是一种能够快速构造可运行产品的好方法
C.最适合于大规模团队开发的项目
D.是一种不适用于商业产品的创新模型
7.
(D) 不是增量式开发的优势。(2013 年下半年)
A.软件可以快速地交付
B.早期的增量作为原型,从而可以加强对系统后续开发需求的理解
C.只有最高优先级的功能首先交付,随着后续的增量不断加入,这就使得更
重要的功能得到更多的测试
D.很容易将客户需求划分为多个增量
8
以下关于增量模型优点的叙述中,不正确的是(D)(2021 年下半年)
A强调开发阶段性早期计划
B.第一个可交付版本所需要的时间少和成本低
C.开发由增量表示的小系统所承担的风险小
D.系统管理成本低、效率高、配置简单
9.
答案:C
10
答案:B
11.
答案:D C
12
一个软件开发过程描述了“谁做”“做什么”“怎么做”和“什么时候做RUP用 (A)来表述“谁做”(2009 年上半年)
A.角色
B.活动
C.制品
D.工作流
本题考查 RUP 对软件开发过程的描述。RUP 应用了角色、活动、制品和工作流 4种重要的模型元素,其中角色表述“谁做” 制品表述“做什么”, 活动表述“怎么做” 工作流表述“什么时候做”。
13.
答案:C
本题考查 RUP中每个阶段产生的制品。初启阶段结束时产生一个构想文档、一个有关用例模型的调查、一个初始的业务用例、一个早期的风险评估和一个可以显示阶段和迭代的项目计划等制品;精化阶段结束时产生一个补充需求分析、一个软件架构描述和一个可执行的架构原型等制品;构建阶段结束时的成果是一个准备交到最终用户手中的产品,包括具有最初运作能力的在适当的平台上集成的软件产品、用户手册和对当前版本的描述:移交阶段结束时产生移交给用户产品发布版本。
14.
答案:B 不是确认阶段而是移交阶段
15.
答案:D
16
答案:B 先写测试代码 再写程序
17.
答案:B
18.
以下关于敏捷统一过程(AUP)的叙述中,不正确的是(D)
A,在大型任务上连续
B.在小型活动上迭代
C,每一个不同的系统都需要一套不同的策略、约定和方法论
D.采用经典的 UP 阶段性活动,即初始化、精化、构件和转换
19
答案:B
20.
答案:C
21.
答案:C
22.
答案:C
软件测试不能说明软件中不存在错误
软件测试贯穿开发的各个阶段
23.
答案:A
24.
答案:D
25
答案:C
26
答案:D
题目中说 无法获得其源代码 说明不了解其内在的结构 所以是黑盒测试
27
答案:D
好的测试用例应该包含一个好的 一个坏的 全是好的也可以 但是两个都是不好的肯定不可以
28.
答案:D
V(G) = m - n + 2
m是有向弧数 n是节点数
29.
答案:C
习题讲解
30.
答案:A C
31.
答案:C
习题讲解
32.
答案:A
33.
答案:A
34
答案:B
测试结果要么成功要么失败 所以需要2个测试用例
35
答案:A C
36.
答案:A C
习题讲解
37.
答案:A D
38.
习题讲解
39
答案: A A
40.
答案: 2 4 4
41.
习题讲解
42
以下关于软件维护和可维护性的叙述中,不正确的是(D)
A.软件维护要解决软件产品交付用户之后运行中发生的各种问题
B软件的维护期通常比开发期长得多,其投入也大得多
C.进行质量保证审查可以提高软件产品的可维护性
D.提高可维护性是在软件维护阶段考虑的问题
解析:在开发的阶段就需要考虑到软件维护
43
答案:B
解析:题目提到 对数据类型稍微进行一些改变 对应适应性 没有涉及扩充功能等 不要选错C
44.
答案:C
45
答案:C
解析:修改其排序算法使其更高效 =》 提高性能
46
答案:A
47
答案:C
48
答案:B
49
答案:C
50
答案:C
解析:提高了性能 =》 完善性
51
答案:A
习题讲解
52
答案:D
53
甘特图(Gantt图不能(D)
A.作为项目进度管理的一个工具
B.清晰地描述每个任务的开始和截止时间
C.清晰地获得任务并行进行的信息
D.清晰地获得各任务之间的依赖关系
54
答案:D
55
答案:B
习题讲解
56
答案:D B
习题讲解
57
答案:D B
习题讲解
58
习题讲解
59
答案:C
60.软件风险一般包含 (B)两个特性。
A.救火和危机管理
C.不确定性和损尖
B.已知风险和未知风险
D.员工和预算
61.风险预测从两个方面评估风险,即风险发生的可能性以及(D)
A.风险产生的原因
C.风险能否消除
B.风险监控技术
D.风险发生所产生的后果
62.在软件开发过程中进行风险分析时,(D)活动的日的是辅助项日组建立处理风险的策略,有效的策咯应考虑风险避免、风险监控、风险管理及意外事件计划。(2010 年下半年)
A.风险识别
B.风险预测
C.风险评估
D.风险控制
63.若软件项日组对风险采用主动的控制方法,则(A)是最好的风险控制策略。
A.风险避免
C.风险消除
B.风险监控
D.风险管理及意外事件计划
64.定义风险参照水准是 (C) 活动常用的技术。
A.风险识别
B.风险预测
C.风险评估
D.风险控制
65
答案:A
66.某个项目在开发时采用了不成熟的前沿技术,由此而带来的风险属于(B) 风险
A.市场
B.技术
C.经济
D.商业
67
答案:C
68
答案:A
69
答案:B
时间和资源 =》 效率
70.
答案:C
71.
答案:A
功能性里面有 安全性(Security):与避免对程序及数据的非授权故意或意外访问的能力有关的软件
属性。
72
答案:A
73
答案:D
74
答案:D
75
答案:C
总结:
1.瀑布模型的优点是:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试。不足之处是:客户必须能够完整、正确和清晰地表达他们的需要;在开始的两个或 3个阶段中,很难评估真正的进度状态;当接近项目结束时,出现了大量的集成和测试工作;直到项日结束之前,都不能演示系统的能力。在瀑布模型中需求或设计中的错误往往只有到了项日后期才能够被发现,从而导致项日常常延期完成,开发费对于项目风险的控制能力较弱,用超出预算。
2.V 模型描述了质量保证活动和沟通、建模相关活动以及早期构建相关的活动之间的关系。随着软件团队工作沿着V模型左侧步骤向下推进,基本问题需求逐步细化,形成问题及解决方案的技术描述。一旦编码结束,团队沿着V 模型右侧的步骤向上推进工作,其实际上是执行了一系列测试(质量保证活动),这些测试验证了团队沿着V 模型左侧步骤向下推进过程中所生成的每个模型。V模型提供了一种将验证确认活动应用于早期软件工程工作中的方法。
3.原型模型比较适合用户需求不清,需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法比较好。
4.增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点。此外,它还有以下优点:第一个可交付版本所需要的成本和时间很少;开发由增量表示的小系统所承担的风险不大;由于很快发布了第一个版本,因此可以减少用户需求的变更;运行增量投资,即在项目开始时,可以仅对一个或两个增量投资。
5.
6.
7.统一过程(UP)模型
初始阶段:生命周期目标
精化阶段:生命周期架构。
构建阶段:初始运作功能。
移交阶段:产品发布。
8.极限编程(XP)
XP 是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿于整个生存周期。
4大价值观:沟通、简单性、反馈和勇气。
5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
12 个最佳实践:计划游戏(快速制定计划、随着细节的不断变化而完善)、小型发布(系统的设计要能够尽可能早地交付)、隐喻(找到合适的比喻传达信息)、简单设计(只处理当前的需求,使设计保持简单)、测试先行(先写测试代码,然后冉编写程序)、重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、结对编程、集体代码所有制、持续集成(可以按日甚至按小时为客户提供可运行的版本)、每周工作 40 个小时、现场客户和编码标准。
9.水晶法
水晶法认为每一个不同的项日都需要一套不同的策略、约定和方法论,认为人对软件质量有重要的影响,因此随着项目质量和开发人员紊质的提高
10.并列争求法
并列争求法使用迭代的方法,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。多个自组织和自治的小组并行地递增实现产品。协调是通过简短的日常情况会议来进行,就像橄榄球中的“并列争球”。
11.自适应软件开发
有6个基本的原则:有一个使命作为指导;特征被视为客户价值的关键点;过程中的等待是很重要的,因此“重做”与“做”同样关键:变化不被视为改正,而是被视为对软件开发实际情况的调整;确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求:风险也包含其中。
12.敏捷统一过程
13.
14.单元测试主要检查的内容: 模块接口 局部数据结构 重要的执行路径 出错处理 边界条件
15.自底向上 无需编写桩模块 需要编写驱动程序
16.自顶向下 无需编写驱动模块 需要编写桩模块
17.黑盒测试技术包括 等价划分 边界值分析 错误检测 因果图
18
19.系统可维护性评价指标
20.软件文档
21.软件维护内容
22.软件的可靠性 可用性 可维护性
23.软件项目估算
应用组装模型使用对象点
早期设计阶段模型使用功能点
24
25.一般认为软件风险包含两个特性:不确定性和损失,不确定性是指风险可能发生也可能不发生
26.项目复杂度、规模及结构不确定性也属于项目风险因素
27.规格说明的歧义性,技术的不确定性,技术陈旧以及“前沿”技术也是技术风险因素
28.如果风险真的发生,有3个因素可能会影响风险所产生的后果,即风险的本质,范围和时间
29.一种对风险评估很有有用的技术就是定义风险参照水准
30.风险控制的目的是辅助项目组建立处理风险的策略
31.应对风险的最好办法就是主动地避免风险
32.
33.
34.软件评审
35.程序质量评审
36.软件容错技术
37.软件工具
❤️❤️❤️小郑是普通学生水平,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍