软件工程第二章

一、选择题

  1. (1)答案:C

解析:增量模型是将软件系统按功能逐步增量开发,不是整体一次性开发,属于非整体开发模型 。线性顺序模型如瀑布模型是严格按阶段顺序进行;整体开发模型是一次性整体开发软件;螺旋模型强调风险分析与迭代。

  1. (2)答案:C

解析:软件过程是软件开发活动的集合,涵盖从需求分析到维护等一系列活动。开发模型是对开发过程的抽象描述;软件求解的计算逻辑侧重于算法等方面;软件生命周期模型是对软件过程的一种抽象表达形式,但软件过程更强调活动本身 。

  1. (3)答案:B

解析:瀑布模型、增量模型、螺旋模型都是常见的软件生命周期模型 。用例模型是面向对象方法中用于描述系统功能需求的模型,不属于软件生命周期模型。

  1. (4)答案:A

解析:螺旋模型将软件开发过程划分为多个螺旋周期,每个周期包含制定计划、风险分析、实施工程和客户评估四个阶段,包含风险分析 。瀑布模型是线性顺序开发,增量模型主要是逐步增量开发,喷泉模型强调迭代和无间隙,均未突出风险分析。

  1. (5)答案:D

解析:瀑布模型的阶段一般包括计划、需求分析、设计、编码、测试、维护 。产品发布、版本更新不属于瀑布模型标准阶段;可行性分析一般在计划阶段前期进行考量。

  1. (6)答案:C

解析:编码阶段通常需要大量程序员编写代码,相比分析、设计、测试阶段,占用人员数量可能最多 。分析阶段主要是理解需求,设计阶段侧重于架构和模块设计,测试阶段是检测软件缺陷,人员规模一般不如编码阶段。

  1. (7)答案:B

解析:螺旋模型综合了瀑布模型的系统性、顺序性和快速原型模型的迭代特征,并增加了风险分析 。喷泉模型主要特点是迭代和无间隙,与螺旋模型综合特点关联不大。

二、判断题

  1. (1)答案:√

解析:瀑布模型按照线性顺序依次划分需求分析、设计、编码、测试等阶段,阶段划分清晰明确 。

  1. (2)答案:√

解析:螺旋模型在瀑布模型的顺序性和增量模型的迭代特征基础上,引入风险分析活动,使开发过程更具风险应对能力 。

  1. (3)答案:×

解析:软件工程过程应以用户需求为中心,关键是满足用户需求,而不是单纯以软件设计为中心和只关注编写程序 。

  1. (4)答案:×

解析:极限编程属于敏捷开发方法,强调快速迭代、客户参与等,与增量模型有区别 。增量模型主要是按功能逐步增量开发,极限编程更注重团队协作和响应变化等价值观。

三、简答题

  1. (1)答案

软件生命周期具有阶段性,从需求分析开始,历经设计、编码、测试、维护等阶段,每个阶段有明确任务和产出。具有迭代性,在实际开发中,可能因需求变更等原因回溯到前面阶段进行调整完善。具有进化性,软件会随着使用和环境变化不断演进。还具有管理性,需对各阶段活动进行有效管理和控制,保障开发顺利进行。

  1. (2)答案
  • 瀑布模型:线性顺序,阶段明确,前一阶段完成后才进入下一阶段,适合需求明确稳定项目,但缺乏灵活性,后期修改成本高。

  • 快速原型模型:先快速构建原型获取用户反馈,再基于反馈完善软件,能快速验证需求,适合需求不明确项目,但可能因原型修改导致结构差。

  • 增量模型:按功能逐步增量开发,可分阶段交付产品,能快速响应部分需求,利于控制风险,但整体架构需提前规划好。

  • 螺旋模型:结合瀑布模型的系统性和快速原型模型的迭代性,加入风险分析,适合规模大、风险高项目,但开发过程复杂,管理成本高。

  1. (3)答案

统一软件开发过程(RUP)模型中,核心工作流程包含业务建模、需求、分析与设计、实现、测试、部署 。业务建模理解业务需求和流程;需求获取和定义系统需求;分析与设计进行系统架构和模块设计;实现进行代码编写;测试验证软件质量;部署将软件交付到运行环境。

  1. (4)答案

当需求不能一次搞清楚,且系统需求比较复杂时,快速原型模型或螺旋模型比较适合 。快速原型模型通过快速构建原型,能快速获取用户反馈,逐步明确需求;螺旋模型在迭代过程中结合风险分析,可在每次迭代中不断细化和调整需求,应对复杂多变的需求情况。

  1. (5)答案

敏捷过程核心价值观包括个体和互动高于流程和工具、可工作的软件高于详尽的文档、客户合作高于合同谈判、响应变化高于遵循计划 。对传统方法的"反叛"体现在:传统方法强调严格流程和大量文档,敏捷更注重人员互动和可用软件;传统方法按计划执行,敏捷更强调灵活响应变化;传统方法合同谈判占比较大,敏捷重视与客户持续合作。

  1. (6)答案

软件过程是软件开发活动的集合,涵盖从软件需求定义、设计、实现、测试到维护等一系列活动 。软件工程方法学是为软件开发提供技术和管理方法,软件过程是软件工程方法学的实践载体,软件工程方法学指导软件过程各活动的开展,规定活动方法、技术和工具等。

  1. (7)答案

适合采用增量模型 。理由:该企业按部门优先级别逐个实现,边应用边开发,增量模型可按功能模块逐步开发交付,先完成优先级高的部门功能,满足企业逐步应用需求,同时便于控制开发风险和成本,在开发过程中可根据已交付部分的反馈及时调整后续开发。

相关推荐
无风听海6 小时前
Skills 的工程学:把经典软件工程搬进一个概率型运行时
软件工程·claude code
疯狂打码的少年19 小时前
【软件工程】软件项目估算(LOC/FP/COCOMO)+ 风险管理
笔记·软件工程
疯狂打码的少年1 天前
【软件工程】软件项目管理(人员/产品/过程/项目)
笔记·软件工程
叫我Paul就好1 天前
RAG 从入门到精通 - 基础版本
人工智能·软件工程·rag
ttod_qzstudio2 天前
【软考备考】软件工程详解:四大开发模型、黑盒白盒测试、McCabe 环路复杂度(附 10 道练习)
软件工程·软考·黑盒·白盒·mccabe 环路复杂度
梁辰兴2 天前
软件工程:软件开发环境
软件工程·ide集成·软件开发环境·环境组成·环境分类·case工具·现代趋势
疯狂打码的少年3 天前
【软件工程】软件测试阶段:单元测试与集成测试(高频对比考点)
笔记·单元测试·集成测试·软件工程
ttod_qzstudio3 天前
【软考备考】软件工程收官篇:耦合与内聚、维护四类型、关键路径计算(附 10 道练习)
软件工程·软考·耦合·内聚
疯狂打码的少年4 天前
【软件工程】软件测试:黑盒测试(等价类/边界值/因果图)
笔记·软件工程
qiyongwork4 天前
敏捷方法论的演进:从 Scrum 到规模化敏捷的变革
项目管理·软件工程·scrum