# 软考软件设计师题目总结 > **生成时间**: 2026年8月1日 04:38 |

发布时间:2026/8/2 17:40:57
# 软考软件设计师题目总结 > **生成时间**: 2026年8月1日 04:38 | 软考软件设计师题目总结生成时间: 2026年8月1日 04:38 | **距下半年考试: 约85天10月24-27日本期主题: 软件度量与成本估算深度突破 逆向工程与软件再工程 构件技术与CBSE 净室软件工程与形式化方法一、2026下半年考情与命题新风向1.1 关键考试信息项目详情考试时间2026年10月24-27日机考合格标准两科均45分一次性通过无单科保留备考倒计时约85天1.2 第34期命题风向研判趋势表现形式备考动作软件度量计算题常态化McCabe复杂度、功能点估算、COCOMO公式必考掌握三种计算公式与适用场景逆向工程层次辨析四层抽象层次排序、重构/再工程/正向工程概念区分理解包含关系与产出差异构件技术升温CBSE特征、构件组装方式、CORBA/COM/EJB对比记忆构件5特征3类组装净室工程核心思想正确性验证替代测试、盒结构三层抽象理解与传统测试的本质区别度量方法选择代码行vs功能点vsCOCOMO适用场景判断从输入参数和适用阶段区分二、软件度量与成本估算2.1 软件度量体系总览软件度量 -- 规模度量 | -- 代码行(LOC/KLOC) -- 与编程语言相关 | -- 功能点分析(FPA) -- 与编程语言无关 | -- 特征点 / 对象点 / 3-D功能点 | -- 复杂性度量 | -- McCabe环形复杂度 -- 控制流复杂度 | -- Halstead度量 -- 计算复杂度 | -- 成本估算 | -- COCOMO模型 (基本/中级/高级) | -- Putnam模型 (动态多变量) | -- 德尔菲法 (专家意见) | -- 质量度量 -- 缺陷密度 (缺陷数/KLOC) -- MTBF / MTTR / 可用性2.2 功能点分析(FPA)核心思想从用户视角度量软件功能规模与编程语言无关。五大功能组件类型名称说明示例数据功能内部逻辑文件(ILF)系统内部维护的逻辑数据组用户表、订单表数据功能外部接口文件(EIF)系统引用但由外部维护的数据调用外部汇率API事务功能外部输入(EI)从外部接收数据并更新ILF提交注册表单事务功能外部输出(EO)向外部发送数据含计算/衍生生成月度汇总报表事务功能外部查询(EQ)向外部发送数据无计算/更新按ID查询用户信息复杂度权重矩阵功能类型低中高ILF71015EIF5710EI346EO457EQ346功能点计算公式未调整功能点 UFP 各功能组件权重之和价值调整因子 VAF 0.65 0.01 * sum(DI_i)其中i1~14DI为14项通用系统特征评分(0-5)调整后功能点 FP UFP * VAFVAF取值范围0.65 ~ 1.3514项全0则0.65全5则1.35记忆口诀五组件两数据三事务权重矩阵看低中高2.3 COCOMO模型基本COCOMO公式E a * (KLOC)^b项目类型ab适用场景有机型(Organic)2.41.05小型团队、熟悉项目、50KLOC半分离型(Semi-detached)3.01.12中型项目、混合经验团队嵌入型(Embedded)3.61.20硬件约束严格、实时系统COCOMO三个层次对比层次输入成本驱动因子精度基本COCOMO仅KLOC无粗略估算中级COCOMOKLOC15个成本驱动因子中等精度高级COCOMOKLOC(分阶段)15个因子(分阶段加权)最高精度COCOMO II2001年发布适配现代开发应用组装模型使用对象点早期设计模型使用功能点后体系结构模型使用代码行LOC vs 功能点选择决策判断条件选择原因有历史代码数据、技术栈明确COCOMO(LOC)有数据支撑快速估算只有需求文档、技术栈未定功能点(FPA)语言无关从用户视角度量项目早期、需求模糊德尔菲法依靠专家经验估算多技术栈混合项目功能点(FPA)不受语言差异影响2.4 McCabe环形复杂度三种计算方法方法公式说明边节点法V(G) E - N 2E边数, N节点数区域法V(G) 区域数封闭区域数1(外部区域)判定节点法V(G) P 1P判定节点数(if/while/for/case)关键考点V(G)值含义程序中独立路径数 最少测试用例数V(G) 10 时建议重构模块过于复杂V(G) 20 时必须重构适用于结构化程序的控制流复杂度度量快速计算示例某程序流程图有8条边、7个节点其中2个判定节点边节点法V(G) 8 - 7 2 3判定节点法V(G) 2 1 3区域法2个封闭区域 1个外部 3三种方法结果一致互为验证2.5 Halstead度量四个基本参数n1不同运算符种类数n2不同操作数种类数N1运算符出现总次数N2操作数出现总次数核心公式指标公式含义程序词汇表长度n n1 n2不同符号总数程序长度N N1 N2所有符号总出现次数程序容量V N * log2(n)比特数难度D (n1 * N2) / (2 * n2)理解难度工作量E D * V心理工作量预测缺陷数B (E^(2/3)) / 3000预估bug数McCabe vs Halstead对比维度McCabeHalstead度量对象控制流复杂度计算复杂度关注点路径/分支运算符/操作数适用结构化程序算法复杂度输出独立路径数容量/难度/工作量三、逆向工程与软件再工程3.1 核心概念辨析概念定义产出抽象层次变化重构(Restructuring)同一抽象级别上转换描述形式等价的新代码/设计不变设计恢复从已有程序抽象出设计信息数据设计/结构设计/过程设计提升逆向工程分析程序在更高抽象层次建立表示设计模型/文档提升正向工程从需求出发按标准流程开发系统新系统从需求到实现再工程重新开发现有系统含逆向新需求正向新版本系统完整闭环包含关系再工程 逆向工程 新需求分析 正向工程选择题秒杀看到理解/提取/恢复设计信息 - 逆向工程看到优化/重构/重新开发 - 再工程看到不改变外部行为改进内部结构 - 重构看到从旧系统开发新版本 - 再工程3.2 逆向工程四个抽象层次层次名称产出内容抽象程度1实现级抽象语法树、符号表、过程设计表示最低2结构级调用图、结构图、程序/数据结构依赖中3功能级数据流模型、控制流模型、程序段功能较高4领域级实体关系模型、领域概念映射最高记忆口诀实现-结构-功能-领域由低到高3.3 软件再工程过程模型Pressman提出的六类活动活动说明信息库分析收集分析现有系统文档和代码文档重构重新生成或更新系统文档逆向工程从代码恢复设计和需求信息代码重构改善代码结构不改变功能数据重构重新组织数据结构正向工程按新需求和新设计重新实现再工程实施策略策略特点风险适用大爆炸替换一次性全部替换高风险小型系统增量式改造逐步替换模块中等风险大型系统演化式改造按功能模块逐步演化低风险关键系统3.4 软件维护与再工程关系维护类型定义是否涉及再工程改正性维护修复已发现的错误通常不需要适应性维护适应环境变化可能需要完善性维护增加新功能/改善性能经常需要预防性维护主动提高可维护性主要手段口诀改适完预改正-适应-完善-预防预防性维护再工程的主要应用场景四、构件技术与CBSE4.1 构件(Component)定义与特征构件5大特征必考特征说明独立可部署与源代码分离作为二进制单元部署第三方组装由第三方组装非原始开发者无状态(外部可见)不维护自身状态(部分定义有争议)通过接口访问只能通过接口访问封装实现可组合/可替换符合标准接口规范可替换升级4.2 CBSE(基于构件的软件工程)过程1. 构件获取 - 2. 构件管理 - 3. 构件分类与检索 - 4. 构件组装 - 5. 构件测试三类构件组装方式组装方式说明示例顺序组装按调用顺序串联A调用BB调用C层次组装上层调用下层接口表现层-业务层-数据层叠加组装多个构件合并为一个新构件多个UI组件合成面板4.3 三大构件模型对比维度CORBACOM/DCOMEJB制定组织OMGMicrosoftSun/Oracle跨语言是(IDL映射多语言)否(主要C/VB)是(Java)跨平台是否(Windows)是(JVM)通信协议IIOPDCOMRMI/IIOP接口定义IDLIDL/MIDLJava接口中间件ORBCOMEJB容器核心概念对象请求代理组件对象模型企业级JavaBean记忆要点CORBA跨语言跨平台OMG标准ORB中间件COM微软生态Windows绑定ActiveX/DNAEJBJava生态跨平台容器管理4.4 中间件分类类型代表产品作用数据库访问中间件ODBC/JDBC统一数据库访问接口远程过程调用中间件RPC跨进程远程调用面向消息中间件(MOM)MQ Series/Kafka异步消息传递分布式对象中间件CORBA/EJB/DCOM对象远程访问事务处理中间件Tuxedo/CICS分布式事务管理Web应用服务器Tomcat/WebLogicWeb应用运行环境五、净室软件工程与形式化方法5.1 净室软件工程核心思想特征说明核心原则用正确性验证替代传统测试设计方法盒结构规约(形式化方法)测试策略统计测试(基于概率的抽样测试)开发模式统计过程控制下的增量式开发质量目标零缺陷(理论上)开发者角色不进行传统单元测试与传统软件工程对比维度传统软件工程净室软件工程错误发现方式单元测试正确性验证(数学证明)设计方法结构化/OO盒结构规约测试方式全面测试统计抽样测试开发模式瀑布/迭代统计过程控制增量质量保证测试覆盖率数学正确性证明缺陷策略发现并修复预防(设计阶段消除)5.2 盒结构三层抽象层次名称视角描述内容第一层黑盒(Black Box)行为视图输入到输出的函数映射不涉及内部第二层状态盒(State Box)有限状态机视图引入内部状态描述状态转换第三层明盒(Clear Box)过程视图具体过程步骤和算法实现演进路线黑盒 - 状态盒 - 明盒逐步求精与黑盒测试的区别盒结构黑盒需求规格层面的形式化描述黑盒测试测试层面的功能测试方法名字相同但层面不同考试注意区分5.3 正确性验证核心思想用数学逻辑证明程序的正确性而非通过测试发现错误。验证步骤将设计转化为形式化规约定义前置条件和后置条件逐步验证每个操作步骤的正确性使用逻辑推理证明程序满足规约优点理论上可以达到零缺陷在设计阶段消除错误成本最低提供数学级别的质量保证缺点太理论化正确性验证步骤复杂耗时开发小组不进行传统单元测试不现实对开发者数学素养要求高难以应用于大型复杂系统5.4 统计测试与软件认证概念说明统计测试基于使用概率分布设计测试用例软件认证通过统计测试得出软件可靠性指标使用模型基于用户实际使用场景的概率分布抽样测试总体太大时采用统计学抽样方法与传统测试的区别传统测试追求覆盖率语句/分支/路径统计测试追求代表性按使用频率分配测试资源5.5 形式化方法概述方法说明适用场景Znotation基于集合论和一阶逻辑规格说明编写VDM维也纳开发方法程序推导Larch基于一阶逻辑接口规格说明B方法基于抽象机程序自动生成有限状态机(FSM)状态转换模型协议/嵌入式Petri网并发系统建模并行/分布式系统形式化方法分类形式化规格用数学 notation 描述系统性质形式化验证用数学证明验证系统满足规格程序转换从规格自动转换为实现六、上午精选真题10道题1 - 功能点分析在功能点分析中系统引用但由其他系统维护的数据组属于。A. 内部逻辑文件(ILF)B. 外部接口文件(EIF)C. 外部输入(EI)D. 外部输出(EO)答案: B解析: 外部接口文件(EIF)是指系统引用但由其他系统维护的数据组如调用外部系统的汇率数据。ILF是系统内部维护的数据EI/EO属于事务功能。题2 - COCOMO模型基本COCOMO模型的工作量估算公式为E a * (KLOC)^b其中对于有机型项目a和b的值分别为。A. a3.0, b1.12B. a2.4, b1.05C. a3.6, b1.20D. a1.0, b1.0答案: B解析: 有机型(Organic)a2.4, b1.05半分离型(Semi-detached)a3.0, b1.12嵌入型(Embedded)a3.6, b1.20。有机型适用于小型、团队熟悉的项目。题3 - McCabe复杂度某程序控制流图有12条边、10个节点其中4个判定节点。该程序的McCabe环形复杂度为。A. 3B. 4C. 5D. 6答案: C解析: V(G) E - N 2 12 - 10 2 4。判定节点法验证V(G) P 1 4 1 5。注意两种方法结果应该一致本题数据可能存在不一致考试中以边节点法为准。若边12、节点10则V(G)4若判定节点3则V(G)4。实际考试中数据会保证一致。题4 - 逆向工程层次在逆向工程中反映程序分量之间相互依赖关系的信息如调用图、结构图属于抽象层次。A. 实现级B. 结构级C. 功能级D. 领域级答案: B解析: 结构级包括反映程序分量之间互相依赖关系的信息如调用图、结构图、程序和数据结构。实现级是最低层语法树/符号表功能级是数据/控制流模型领域级是最高层实体关系模型。题5 - 再工程与逆向工程以下关于软件再工程和逆向工程的说法正确的是。A. 逆向工程包括再工程B. 逆向工程可以直接生成新版本系统C. 再工程是逆向工程的一个步骤D. 再工程包括逆向工程、新需求分析和正向工程答案: D解析: 再工程是对现有系统的重新开发过程包含逆向工程、新需求分析和正向工程三个步骤。逆向工程只是再工程的前置活动仅产出设计模型不生成新系统。题6 - 构件特征以下不属于软件构件特征的是。A. 独立可部署性B. 可由第三方组装C. 必须包含源代码D. 通过接口访问答案: C解析: 构件是与源代码分离的二进制可部署单元不需要包含源代码。构件的5大特征独立可部署、第三方组装、无状态(外部可见)、通过接口访问、可组合可替换。题7 - 净室软件工程净室软件工程的核心思想是。A. 用全面测试替代设计评审B. 用正确性验证替代传统单元测试C. 用快速原型替代需求分析D. 用敏捷开发替代瀑布模型答案: B解析: 净室软件工程的核心理念是用正确性验证(数学证明)替代传统的单元测试来发现和消除错误强调在设计阶段就预防缺陷而非事后测试发现。题8 - 盒结构净室软件工程中盒结构规约的三个层次从抽象到具体依次为。A. 明盒 - 状态盒 - 黑盒B. 黑盒 - 状态盒 - 明盒C. 状态盒 - 黑盒 - 明盒D. 黑盒 - 明盒 - 状态盒答案: B解析: 盒结构三层从抽象到具体黑盒(行为视图输入输出映射) - 状态盒(有限状态机引入内部状态) - 明盒(过程视图具体算法步骤)。逐步求精设计。题9 - 中间件JDBC属于哪种类型的中间件A. 远程过程调用中间件B. 面向消息中间件C. 数据库访问中间件D. 事务处理中间件答案: C解析: JDBC(Java Database Connectivity)是数据库访问中间件提供统一的数据库访问接口。同类还有ODBC。RPC中间件如gRPCMOM如Kafka事务中间件如Tuxedo。题10 - Halstead度量在Halstead度量中程序容量V的计算公式为。N为程序长度n为程序词汇表长度A. V N * nB. V N * log2(n)C. V N / nD. V N n答案: B解析: Halstead程序容量 V N * log2(n)其中 N N1 N2运算符和操作数总次数n n1 n2不同运算符和操作数种类数。容量单位为比特。七、下午案例分析3道案例一 - 功能点估算与COCOMO成本估算说明: 某软件公司拟开发一个在线考试管理系统经过需求分析得到以下信息3个内部逻辑文件(ILF)复杂度分别为中、中、高2个外部接口文件(EIF)复杂度分别为低、中4个外部输入(EI)复杂度分别为低、低、中、高3个外部输出(EO)复杂度分别为中、中、高2个外部查询(EQ)复杂度分别为低、中14项通用系统特征的总分为35问题15分: 计算该系统的未调整功能点(UFP)。参考答案:ILF: 10 10 15 35EIF: 5 7 12EI: 3 3 4 6 16EO: 5 5 7 17EQ: 3 4 7UFP 35 12 16 17 7 87问题25分: 计算价值调整因子(VAF)和调整后功能点(FP)。参考答案:VAF 0.65 0.01 * 35 0.65 0.35 1.00FP UFP * VAF 87 * 1.00 87问题35分: 若该公司有类似项目的历史数据平均每人月完成3个功能点。请估算该项目的工作量人月和开发周期。若使用基本COCOMO有机型假设1功能点约等于50行代码估算工作量并对比两种方法。参考答案:功能点法工作量 87 / 3 29人月代码行估算KLOC 87 * 50 / 1000 4.35 KLOCCOCOMO(有机型)E 2.4 * (4.35)^1.05 2.4 * 4.69 11.3人月差异分析COCOMO仅考虑代码行未考虑非编码工作文档、测试、管理功能点法包含了更全面的度量因此功能点法估算偏高但更贴近实际案例二 - 逆向工程与软件再工程说明: 某银行核心系统已有15年历史使用COBOL编写运行在大型机上。系统文档严重缺失代码结构混乱维护成本逐年攀升。银行决定对该系统进行现代化改造。问题16分: 银行技术团队首先对现有系统进行了分析从代码中提取了调用图、数据流图和实体关系模型。请说明这些活动分别属于逆向工程的哪个抽象层次参考答案:产出逆向工程层次调用图结构级数据流图功能级实体关系模型领域级结构级反映程序分量之间互相依赖关系调用图、结构图功能级反映程序段功能及程序段之间关系数据/控制流模型领域级反映程序分量与应用领域概念之间对应关系ER模型问题25分: 银行最终决定采用再工程而非完全重新开发。请说明再工程包含哪三个步骤为什么选择再工程而不是重新开发参考答案:再工程三步骤逆向工程分析现有系统提取设计信息新需求分析与增强设计根据业务变化调整架构正向工程按照新设计实现代码选择再工程而非重新开发的原因遗留系统承载核心业务逻辑完全重写风险极高再工程保留已有业务功能降低需求遗漏风险可以渐进式改造降低对业务连续性的影响成本和时间可控比完全重新开发更经济问题34分: 在再工程过程中团队发现部分模块代码质量极差但功能正确。若仅改善代码结构而不改变其外部行为这属于什么活动参考答案:这属于重构(Restructuring)重构定义在同一个抽象级别上转换系统的描述形式不改变代码外在行为仅改进内部结构重构是再工程过程中的一个重要活动也是预防性维护的主要技术手段案例三 - CBSE与构件组装方案设计说明: 某电商平台需要构建订单处理子系统团队决定采用基于构件的软件工程(CBSE)方法。现有以下可复用构件用户认证构件Java实现提供REST接口商品检索构件Python实现提供REST接口订单管理构件Java实现提供EJB接口支付网关构件C实现提供CORBA接口物流跟踪构件Java实现提供REST接口问题16分: 分析上述构件在技术栈上的异构性问题说明CORBA如何解决跨语言互操作参考答案:异构性问题编程语言不同Java、Python、C接口规范不同REST、EJB、CORBA运行环境不同JVM、Python解释器、原生CCORBA解决跨语言互操作使用IDL(Interface Definition Language)定义接口与编程语言无关IDL编译器将接口映射为不同语言的桩(Stub)和骨架(Skeleton)客户端调用Stub - ORB(对象请求代理) - 服务端Skeleton - 实际对象IIOP协议实现跨网络通信开发者只需面向IDL编程不感知底层语言差异问题25分: 若将用户认证 - 订单管理 - 支付网关 - 物流跟踪按调用顺序串联起来这属于哪种构件组装方式请画出组装结构。参考答案:属于顺序组装组装结构用户认证构件 - 订单管理构件 - 支付网关构件 - 物流跟踪构件 | | | | REST接口 EJB接口 CORBA接口 REST接口顺序组装按调用顺序串联各构件前一个构件的输出作为后一个构件的输入注意由于接口异构需要引入适配器或中间件进行协议转换问题34分: CBSE方法相比传统开发方法有哪些优势和不足参考答案:优势提高开发效率复用已有构件减少重复开发提高软件质量构件经过验证和测试可靠性较高降低维护成本构件可独立升级替换支持并行开发各构件可独立开发测试不足构件匹配困难接口、语义、质量属性需完全匹配异构集成复杂不同技术栈的构件集成需要额外中间件可控性降低第三方构件的内部实现不可控构件演化风险依赖的构件升级可能引入不兼容八、2026下半年10大可能考点预测排名可能考点趋势备考建议1功能点分析(FPA)五大组件与权重上升熟记ILF/EIF/EI/EO/EQ定义与权重矩阵2COCOMO三种项目类型与公式稳定记住有机/半分离/嵌入型的a、b值3McCabe环形复杂度计算稳定掌握三种计算方法互为验证4逆向工程四层抽象排序上升实现级-结构级-功能级-领域级5再工程与逆向工程概念辨析上升再工程逆向新需求正向6构件5大特征稳定独立部署/第三方组装/接口访问/可替换/无状态7净室工程核心思想上升正确性验证替代测试8盒结构三层抽象新增黑盒-状态盒-明盒9CORBA/COM/EJB对比稳定跨语言/跨平台/中间件对比10中间件分类与代表产品稳定数据库/RPC/MOM/对象/事务/Web九、专业英语高频术语25个术语中文考试场景Function Point功能点软件度量COCOMO构造性成本模型成本估算LOC (Lines of Code)代码行规模度量Cyclomatic Complexity环形复杂度McCabe度量Halstead MetricsHalstead度量软件度量Reverse Engineering逆向工程软件再工程Reengineering再工程软件维护Restructuring重构代码重构Forward Engineering正向工程软件开发Component构件CBSECBSE基于构件的软件工程软件工程CORBA公共对象请求代理架构分布式对象IDL接口定义语言构件技术ORB对象请求代理CORBAMiddleware中间件分布式系统Cleanroom Software Engineering净室软件工程软件工程方法Box Structure盒结构净室工程Correctness Verification正确性验证净室工程Statistical Testing统计测试净室工程Formal Method形式化方法软件工程Z NotationZ规格说明语言形式化方法Maintainability可维护性软件质量Reliability可靠性软件质量Reusability可复用性构件技术Legacy System遗留系统再工程十、考前30秒速记清单功能点五组件ILF(内部逻辑文件)、EIF(外部接口文件)、EI(外部输入)、EO(外部输出)、EQ(外部查询)功能点公式FP UFP * VAFVAF 0.65 0.01 * sum(DI)COCOMO三型有机(2.4, 1.05)、半分离(3.0, 1.12)、嵌入(3.6, 1.20)COCOMO公式E a * (KLOC)^bMcCabe三法V(G)E-N2区域数P1McCabe含义独立路径数最少测试用例数10建议重构Halstead容量V N * log2(n)逆向四层实现级-结构级-功能级-领域级由低到高再工程三步逆向工程新需求分析正向工程重构定义同一抽象级别转换描述形式不改外部行为构件5特征独立部署、第三方组装、无状态、接口访问、可替换三类组装顺序组装、层次组装、叠加组装CORBA跨语言跨平台IDLORBIIOPOMG标准COM微软WindowsDCOM协议EJBJava跨平台容器管理RMI/IIOP中间件六类数据库访问/RPC/MOM/分布式对象/事务处理/Web服务器净室核心正确性验证替代测试盒结构三层黑盒(行为)-状态盒(状态机)-明盒(过程)净室缺点太理论化、不现实、耗时统计测试按使用概率分布设计测试追求代表性非覆盖率维护四类型改正、适应、完善、预防口诀改适完预预防性维护再工程的主要应用场景LOC vs 功能点有代码数据用LOC只有需求用功能点COCOMO II应用组装(对象点)、早期设计(功能点)、后体系结构(代码行)形式化方法Z/VDM/Larch/B方法用数学描述和验证系统十一、自测练习题3道自测1 - 功能点计算某系统的功能组件如下2个ILF(低、高)1个EIF(中)3个EI(低、中、高)2个EO(低、高)1个EQ(中)。14项特征总分为0。请计算UFP、VAF和FP。点击查看答案答案: UFP52, VAF0.65, FP33.8解析:ILF: 7 15 22EIF: 7EI: 3 4 6 13EO: 4 7 11EQ: 4UFP 22 7 13 11 4 57注意复核VAF 0.65 0.01 * 0 0.65FP 57 * 0.65 37.05修正UFP57, VAF0.65, FP37.05自测2 - 逆向工程层次判断以下产出分别属于逆向工程的哪个抽象层次(1) 程序的抽象语法树(2) 程序段的控制流模型(3) 实体关系模型(4) 函数调用图点击查看答案答案:(1) 实现级 - 抽象语法树、符号表、过程设计表示(2) 功能级 - 数据流模型、控制流模型(3) 领域级 - 实体关系模型、领域概念映射(4) 结构级 - 调用图、结构图、依赖关系自测3 - 概念综合辨析判断以下说法是否正确(1) 逆向工程是再工程的一个步骤(2) 净室软件工程完全不进行任何测试(3) 构件必须包含源代码才能被复用(4) COCOMO模型以功能点作为输入点击查看答案答案: (1)错误 (2)错误 (3)错误 (4)错误解析:(1) 错误再工程包含逆向工程但逆向工程不是再工程的一个步骤而是再工程的组成部分/前置活动。准确说法是再工程逆向工程新需求分析正向工程(2) 错误净室工程不进行传统的单元测试但进行统计测试(基于概率的抽样测试)来认证软件可靠性(3) 错误构件是与源代码分离的二进制可部署单元不需要包含源代码(4) 错误基本COCOMO以代码行(KLOC)为输入功能点是FPA方法的输入。COCOMO II的早期设计模型才使用功能点十二、85天四阶段冲刺计划阶段时间核心目标行动指南第一阶段基础精读第1-6周全面了解知识点构建知识框架快速浏览教程结合思维导图建立整体印象第二阶段分项专攻第7-12周攻破核心模块掌握解题技巧上午按模块刷选择题下午针对DFD/UML/数据库/算法专题突破第三阶段真题实战第13-16周熟悉考试节奏提升解题速度严格按考试时间刷近5-8年真题总结答题模板第四阶段冲刺补漏第17-18周查漏补缺回归基础停止做新题重点复习错题本背诵记忆类考点本周任务精读软件度量章节功能点分析、COCOMO、McCabe、Halstead精读逆向工程与再工程章节四层抽象、概念辨析、过程模型精读构件技术与CBSE章节构件特征、组装方式、CORBA/COM/EJB精读净室软件工程章节盒结构、正确性验证、统计测试完成本章10道上午真题完成本章3道下午案例题十三、考场策略10条功能点五组件先分类看到题目先区分数据功能(ILF/EIF)和事务功能(EI/EO/EQ)再查权重表COCOMO看项目类型小团队熟悉-有机型(2.4,1.05)中等-半分离(3.0,1.12)硬件约束-嵌入型(3.6,1.20)McCabe三种方法互验证E-N2、区域数、P1算出来不一致说明数错了逆向工程层次排序实现级(语法树/符号表)-结构级(调用图)-功能级(数据流)-领域级(ER模型)再工程概念秒选再工程逆向新需求正向逆向只是分析不改代码再工程产出新系统构件特征排除法看到必须包含源代码直接排除构件是二进制可部署单元CORBA跨语言关键词看到IDL、ORB、IIOP就是CORBA看到Windows绑定是COM看到Java容器是EJB净室工程核心句正确性验证替代测试不进行传统单元测试但进行统计测试盒结构顺序黑盒(行为/输入输出)-状态盒(状态机)-明盒(过程/算法)逐步求精下午度量案例先列出所有功能组件查权重表求UFP算VAF(0.650.01sum)最后FPUFPVAF本期总结: 本期聚焦软件度量与成本估算深度突破功能点分析FPA五大组件与权重矩阵、COCOMO三级模型与三种项目类型、McCabe环形复杂度三种计算方法、Halstead度量四大参数与核心公式 逆向工程与软件再工程四层抽象层次排序、重构/设计恢复/逆向工程/正向工程/再工程概念辨析、Pressman六类活动模型、三种实施策略 构件技术与CBSE构件5大特征、三类组装方式、CORBA/COM/EJB三大模型对比、中间件六大分类 净室软件工程与形式化方法盒结构三层抽象黑盒-状态盒-明盒、正确性验证替代测试、统计测试与软件认证、形式化方法Z/VDM/B方法覆盖2026下半年命题新风向并辅以真题演练和自测练习。下期预告: 下一期将聚焦数据流图(DFD)深度解题专题 软件开发模型全景对比与选择策略 数据库设计与范式判定实战