资讯详情

资讯详情

软考软件设计师备考:系统转换、维护类型、成本估算与进度管理考点精讲

说实话软考软件设计师中级这门考试真正拉开分数差距的往往不是Java语法、数据结构这些硬骨头而是综合知识题最后那十几道被大家默认“背一背就行”的软件工程题。我见过太多人把时间全砸在算法和UML图上结果上午题里系统转换、维护类型、成本估算、进度管理这四块一场考试能冒出七八分直接被打个措手不及。这几道题的难度其实不高但知识点分散得很不提前整理考场上很容易在两个选项之间反复横跳最后凭感觉蒙一个。这篇文章就把“软件项目交付与管控”里分值最密集的四个点一次讲透。它适合三类人看一是备考软考中级软件设计师但还没系统整理过项目管理知识的小白二是已经刷过真题却在系统转换、关键路径这类题上反复丢分的二战选手三是单纯想理清楚新旧系统上线、软件维护、成本估算和项目进度计算这些概念的从业者。我不打算把教材目录抄一遍只讲考试会怎么出题、你该怎么判断以及我复习时踩过的坑和总结出来的口诀。你把这篇文章当复习提纲也行当考前冲刺资料也行核心是把这四块变成稳定拿分的项目。1. 先搞清楚这四块内容在软考里到底怎么考1.1 上午题和下午题的分布规律软考中级软件设计师的上下午考试风格完全不同。上午题是75道选择题其中软件工程与项目管理大约占10到15道而系统转换、维护类型、成本估算、进度管理这四块通常能从中分到4到8分。这个占比并不低相当于一道下午大题的分数。而且它不像算法题那样需要你现场推导更像是“概念辨析套公式读图计算”只要复习到位拿分非常稳定。下午题一般以数据流图、用例图、数据库设计、算法设计为主但这四块内容经常作为案例分析的背景或填空出现。比如案例里描述一个系统即将替换旧系统问你采用了哪种转换方式或者给出一个进度网络图让你求关键路径和总工期。如果你对这部分没有完整框架临时抱佛脚会非常被动。从历年真题看软考越来越喜欢把项目管理知识与系统设计场景结合所以不能只背概念还要会应用。1.2 为什么说这是性价比最高的知识点很多人备考时会陷入一个误区觉得项目管理是“文科内容”靠考前背就行前期完全不理。这个想法本身有道理但问题在于“背”之前你得先理解分类边界。系统转换的四种方式、维护的四类分法、成本估算的公式、进度管理的计算这些不是死记硬背就能不出错的它们的选题之间经常有细微差别。我之所以说这部分性价比高是因为它不依赖写代码能力不依赖复杂的数学基础也不需要你掌握冷门语法。复习优先级上我建议把它排在数据结构之前花一个晚上吃透概念再做十道真题巩固基本就能保证得分。对比一下算法题练两周未必有把握而管理类考点是“背多分”的典型代表。这些知识点在未来的系统架构师、系统分析师考试里还会遇到现在花时间不亏。2. 系统转换新旧系统交接的四种方式怎么选2.1 四种转换方式的概念对比系统转换简单说就是新系统上线、旧系统下线的这个过程。软考里常考四种方式直接转换、并行转换、分段转换、试点转换。它们之间的本质差异在于“新旧系统是否同时运行”以及“切换是一次性还是分步进行”。直接转换是在某个时刻旧系统立刻停用新系统全面接管成本最低、风险最高。并行转换是新旧两套系统同时运行一段时间旧系统作为备用最稳但最贵。分段转换是按功能模块或业务分批上线比如一个ERP系统先上财务模块再上采购模块每切换一部分就关闭旧系统的对应功能。试点转换是选择部分部门或区域先上线跑通后再推广比如在全国几百家门店里先选十几家试运行。这四种方式没有绝对的优劣考题也不考“哪种最好”而是给你具体场景让你判断应该选哪种。它们的核心取舍线就一条业务越关键越要容忍高成本换取低风险系统越简单、越不重要越可以冒险用直接转换。2.2 真题里的高频判定技巧我在刷题时总结出一个比较顺手的判断流程先看新旧系统是否并存并存时间多久再看切换范围是全部还是部分。如果题目说“旧系统立即停用新系统马上上线”直接选直接转换。如果题目说“银行核心交易系统新旧并行运行三个月”选并行转换。如果题目说“先在华东区试点再逐步全国推广”选试点转换。如果题目说“按模块依次切换每个模块切换后旧对应功能下线”选分段转换。这里最容易混淆的是分段转换和试点转换。举两个例子对比某大型系统按“财务、采购、库存”顺序逐步上线这是分段转换某全国连锁超市先选三家门店使用新收银系统成功后再推广到所有门店这是试点转换。前者切的是功能和时间后者切的是空间范围。记住这个区别做题基本不会再翻车。2.3 常被忽略的细节转换时机与数据迁移系统转换不只是“把开关拨过去”这么简单。每次切换背后都跟着数据迁移、人员培训、回滚方案和验收标准。软考选择题经常拿这些细节做文章比如“系统转换期间最重要的准备工作是什么”答案往往不是“编写新代码”而是“数据迁移完整性和回滚预案”。数据迁移不只是把旧库里的数据复制到新库还涉及格式转换、去重、清洗、校验。并行转换有一个隐藏考点并行期结束的条件是什么不能拍脑袋说“两周后”而要根据新系统连续稳定运行天数和重大故障频率来判断。我见过真题把“并行转换期间新旧系统数据要保持一致”当成关键选项这是对的因为只有两边数据一致旧系统才能真正退役。3. 维护类型最容易拿分的四选一3.1 四种维护类型的官方定义软件维护分为四类更正性维护、适应性维护、完善性维护、预防性维护。软考中级软件设计师对这个考点的要求是“看到场景能归类”难度不大但错误率不低。更正性维护也叫纠错性维护指修复软件中已发现的错误和缺陷比如程序崩溃、计算错误、逻辑漏洞。适应性维护是为了应对外部环境变化而修改软件外部环境包括操作系统版本升级、硬件更换、数据库版本变化、政策法规调整等。完善性维护是为满足用户新需求而增加功能、改进性能或增强用户体验。预防性维护则是“提前动手”通过重构代码、补充文档、优化结构来为将来的修改做准备俗称“给代码减负”。在软件生命周期里维护阶段通常占据总成本的大头而这四类中比例最高的往往是完善性维护。考试偶尔会问“哪类维护占比最大”记住完善性即可。3.2 判定口诀与经典案例我给自己编过一个口诀“错改运行是更正外环变化属适应新增功能算完善未雨绸缪是预防。”这里“外环变化”就是外部环境变化包括政策、硬件、操作系统、第三方接口。口诀只能辅助真正做题还得靠场景还原。看几个典型的软考风格例子。第一个某系统在并发量高时出现死锁开发团队修改了锁机制这是更正性维护因为它在修bug。第二个银行调整存款利率需要修改利息计算模块这是适应性维护因为变化来自外部业务规则调整无论你有没有主动想过加这个功能都得改。第三个用户提交需求希望系统新增导出PDF报表功能这是完善性维护。第四个为了降低后期维护成本工程师把一个大模块拆成几个高内聚低耦合的小模块这是预防性维护。最容易错的是适应性和完善性的边界。记住一个原则如果变化是被外部环境“逼”的比如税收规则变了、操作系统升级了不管功能怎么变都属于适应性维护如果是用户主动提新需求、新体验才是完善性维护。3.3 软考下午题里怎么结合维护类型考下午题虽然很少直接问“这是哪类维护”但会在系统设计中埋考点。比如题目要求你设计一个容易扩展的模块结构本质上就是为了降低后续完善性维护成本或者问到“如何提高软件可维护性”答“模块化、高内聚低耦合、完善文档”就能拿分。有时候题目会给一个故障记录系统在某个环境下偶发崩溃测试人员复现后修复。这个场景既可以归为纠错性维护也可以对应软件测试阶段发现的缺陷。答题时先判断缺陷是否已经发布到生产环境如果已经上线后续修复就是更正性维护如果还在测试阶段严格说属于开发阶段的质量活动不叫维护。软考里常见的错误选项就是从“是否上线”这一点来迷惑考生读题时要留意。4. 成本估算从公式到真题的完整闭环4.1 代码行估算和功能点估算到底怎么算成本估算在考试里以选择题为主偶尔出现在下午题的填空或简答。常用方法有代码行估算、功能点估算、COCOMO模型、自顶向下估算、自底向上估算等。代码行估算依赖历史数据用“平均每人月能写多少行代码”来推算总规模比如预计系统有5000行Java代码历史效率是每人月2000行那工作量就是2.5人月。缺点很明显不同语言、不同团队差异巨大所以软考很少让你单靠这个算最终结果更多是考概念。功能点估算从用户角度度量系统功能核心是五个要素外部输入、外部输出、外部查询、内部逻辑文件、外部接口文件分别对应英文缩写EI、EO、EQ、ILF、EIF。每种要素根据复杂度给不同权重加总得到未调整功能点数UFP再乘技术复杂度调整因子得到最终功能点数。软考如果考计算通常会给权重表你要做的事就是查表、累加、乘因子。平时把这些缩写的全称和概念记住考场上就能快速定位。4.2 COCOMO模型公式与三种模式COCOMO是软考成本估算里最常考的模型基本公式是 E a × (KLOC)^b × EAF。E代表工作量单位是人月KLOC代表软件规模单位是千行代码EAF是工作量调整因子也叫成本驱动属性默认情况是1.0。很多选择题的陷阱就是故意不告诉你EAF要不要乘所以题目里只要出现了EAF就一定要算进去。根据项目复杂程度COCOMO把项目分成三种模式。组织型项目规模小、需求明确、团队经验丰富a取2.4b取1.05典型例子是内部管理系统半独立型项目规模中等、需求有一定复杂度、团队经验一般a取3.0b取1.12典型例子是大多数业务系统嵌入型项目约束强、实时性要求高比如操作系统或嵌入式控制软件a取3.6b取1.20。我建议你默写三组系数“组织2.4 1.05半独3.0 1.12嵌入3.6 1.20。”考试常让你选“某项目属于哪种模式”或者直接给规模和模式让你套公式。记忆时可以把嵌入型理解为“环境苛刻、改动代价大”的软件把组织型理解为“自己团队内部用、说话好商量”的软件。4.3 成本估算中的常见陷阱成本估算题错误率高的原因一是单位看错二是EAF漏乘三是不懂“人月”的本质。先说单位KLOC不是LOC50KLOC是五万行代码不是五十行。一旦算出来的工作量小到离谱八成是单位搞错了。再说EAF有些题目会把“EAF1.2”作为隐藏条件你按基础公式算出结果后忘了乘就会发现四个选项里有两个数很接近一个是正确答案一个差在比例上。“人月”的陷阱更隐蔽。人月是工作量单位不代表“人数×月份”永远等比例成立。向延误的项目加人可能因为沟通成本增加反而更慢这就是人月神话的基本思想软考会把它包装成“项目管理中的常见误区”。另外合同类型也常和成本估算一起出现需求明确时用固定总价合同需求不确定时用成本加酬金合同这属于一对很有区分度的考点。5. 进度管理关键路径和甘特图是重头戏5.1 甘特图和PERT网络图的区别进度管理的工具里甘特图和PERT网络图经常成对出现。甘特图就是横道图每一行是一个任务横坐标是时间能直观看出任务何时开始、何时结束也方便跟踪进度。但它有两个短板一是任务之间的依赖关系表达得很弱二是看不出哪些任务影响总工期。PERT网络图用节点和箭头表达任务之间的逻辑关系能清楚显示前置任务和后续任务更重要的是可以计算关键路径和浮动时间。软考选择题经常会问“为了识别关键路径应该使用哪种工具”目标答案就是PERT网络图或CPM关键路径法。如果题目提到“三点估算”即乐观时间、最可能时间、悲观时间你要会用公式计算期望工期期望工期 乐观时间 4×最可能时间 悲观时间/ 6。这个公式和关键路径计算是绑定出现的不要单独背。5.2 关键路径计算正推法、逆推法与真题里的常见陷阱关键路径是进度管理的核心也是下午题案例分析常考的计算点。关键路径的定义是项目中持续时间最长的路径它决定项目最短总工期。注意是最长路径不是最短路径。刚学的时候很多人会下意识找最短路径结果全错这个坑我踩过印象非常深刻。我以一个经典例子来写计算过程。假设项目有六个活动活动A工期5天没有前置任务活动B工期6天前置为A活动C工期8天前置为A活动D工期7天前置为B活动E工期5天前置为C和D活动F工期4天前置为E。先列出所有路径A-B-D-E-F的总工期是5675427天A-C-E-F的总工期是585422天。最长路径是A-B-D-E-F总工期27天所以它就是关键路径。再用正推法和逆推法填表验证。正推法算最早开始时间ES和最早完成时间EF规则是某活动ES等于它所有前置活动EF的最大值逆推法算最晚开始时间LS和最晚完成时间LF规则是某活动LF等于它所有后续活动LS的最小值。最终结果如下活动工期(天)前置任务ESEFLSLF总时差A5无05050B6A5115110C8A51310185D7B111811180E5C、D182318230F4E232723270从这个表能看出关键路径上的A、B、D、E、F总时差全部为0活动C可以晚5天开工但不影响总工期。真题容易设置的陷阱包括正推时只取一条前置路径的EF而不用最大值导致后续全部算偏逆推时LF取值不是取后续LS的最小值结果时差算错。每填一个值都要问自己“我取的是最大还是最小”这是关键路径计算得分的关键。5.3 浮动时间怎么理解浮动时间也叫总时差计算公式是 LS - ES或者 LF - EF两个结果一样。它表示在不影响项目总工期的前提下某活动最晚可以推迟多少天开始。关键路径上的活动浮动时间一定是0所以只要看到某个活动总时差是0基本就能锁定它在关键路径上。软考还会考“自由浮动时间”的概念它指不影响后续活动最早开始时间的前提下可以延迟的天数。总时差和自由时差在概念上有区别但中级考试里绝大多数题目只要求计算总时差。做题时如果题目只问“某活动最多可以推迟几天而不影响整个项目”直接用总时差如果问“不影响后续活动最早开始”那才考虑自由时差。另外判断关键路径还有一种偷懒但好用的办法把所有可走的路径列出来加总工期最长的那条就是关键路径。节点多的时候这个方法会花时间但不容易错。我更推荐把路径和表格结合既快又能拿步骤分。5.4 赶工还是快速跟进压缩工期的两类选择项目延期了怎么办软考常考两个概念赶工和快速跟进。赶工是在关键路径上的活动追加资源比如加班、加设备、加人手代价是成本上升快速跟进是把原本串行的活动改成并行比如设计做到一半就开始编码代价是返工风险上升。两者的共同点是都要重点关注关键路径。考试里最经典的问题是“项目落后于进度首先应该压缩哪些活动”。标准回答是压缩关键路径上成本增加最少、工期占比最大的活动。压缩非关键路径上的活动对总工期没有意义因为总工期由关键路径决定。如果问“赶工和快速跟进哪个优先”通常先考虑赶工因为它相对可控快速跟进容易因为需求没冻结、设计没完成而带来更多返工。当年我考试时遇到“进度压缩”题第一反应是把所有任务都压缩一遍后来才发现这是错的必须盯住关键路径。6. 用一个综合案例串起全部考点6.1 案例素材为了把这四个考点串成一道完整题目我自己设计了一道模拟下午题风格贴近软考案例分析。某公司计划用一套新客户管理系统替换运行十年的旧系统核心交易数据要从旧库迁到新库。公司决定新旧系统先并行运行两个月确认新系统无重大故障后再停用旧系统。项目组估算新系统规模约40 KLOC采用组织型COCOMO模型进行成本估算EAF为1.2。开发进度网络如下模块A登录认证工期5天无前置模块B客户管理工期6天依赖A模块C订单处理工期8天依赖A模块D报表统计工期7天依赖B模块E接口对接工期5天依赖C和D模块F数据迁移工期4天依赖E。这道题一共有四问系统转换采用了哪种方式上线后的维护类型判断COCOMO模型估算工作量求关键路径和最短工期以及如果要缩短3天怎么压缩。6.2 逐步答案解析第一问系统采用并行转换因为新旧系统并行运行两个月后才停旧系统。其他三种方式是直接转换、分段转换、试点转换。答题时不要只写“并行”两个字最好写明“新旧系统并行风险低但成本高”这样既完整又能得分。第二问客户反馈要在移动端增加查询功能这属于完善性维护因为用户提出了新需求。如果因为税务规则调整而修改发票计算逻辑则属于适应性维护因为变化来自外部政策环境不是用户主动要求新增功能。这两者放在一起特别能检验概念是否清晰答案里最好写出判断理由。第三问COCOMO组织型公式是 E 2.4 × (KLOC)^1.05 × EAF代入KLOC40和EAF1.2得到约139人月。考场如果给你查表值按表取数即可关键是别漏乘EAF。这里体现出成本估算题的核心得分点公式结构比手算能力更重要。第四问进度网络有两条完整路径A-B-D-E-F的总工期是5675427天A-C-E-F的总工期是585422天。关键路径是A-B-D-E-F最短工期27天。如果要缩短3天应该优先压缩关键路径上的活动同时考虑压缩成本。但压缩之后必须重新检查关键路径是否发生变化因为A-C-E-F路径与它的差距只有5天压太多的确可能把21天路径变成关键路径。6.3 答题模板与阅卷偏好软考下午题阅卷是按得分点给分不是看你写得字数多不多。所以答题要“结论在前理由在后计算过程单独列”。比如系统转换题先写“并行转换”再写“新旧系统并行运行两个月旧系统作为回退保障”维护类型题先写“完善性维护”再写“用户提出新增移动端查询功能属于新需求”关键路径题先写“A-B-D-E-F”再写“总工期27天”然后把路径列出来。我见过不少考生答案里算对了结果但没写关键路径的具体活动名称被扣了步骤分很可惜。算式一定要工整阅卷老师看到“56754”和“27天”就能直接给分。文字解释不必长篇大论把关键名词写到位就够了。7. 考前一晚我可以做的四张速查表7.1 考前一周怎么抓这四块如果你只剩一周时间我建议按这个节奏安排。第一天专攻维护类型找十道分类题练手建立条件反射。第二天做系统转换把四种方式对比表默写一遍注意分段和试点的区别。第三天看成本估算重点默写COCOMO三组系数顺带过一遍功能点的五个要素。第四天练进度管理做一两道关键路径真题把正推逆推步骤完整走一遍。第五天把错题和模糊概念复盘最后两天回归整套模拟卷保证手感。这里要说明一下软考软件设计师中级知识点范围很广我建议把这四块当作“保分项”不要占用大量时间。每天给两个小时足够省下来的时间留给算法、数据库和程序设计等更核心的科目。毕竟管理类知识点再重要也只是整套试卷的一部分。7.2 我复习时踩过的坑最后分享几个我亲测踩过的坑希望你能绕开。第一适应性维护和改善性维护的混淆。我曾经把“为适应新政策而修改模块”错选为改善性维护但题干里根本没有用户提新需求纯粹是外部规则变化正确答案是适应性维护。从那以后我万变不离其宗“看变化来源”。第二关键路径找错方向。我刚开始做网络图题时以为关键路径就是“最关键的任务”选了一条耗时最短但依赖最多的路径结果全错。其实关键路径的判定标准很机械就是找最长路径不要被任务重要性迷惑。第三COCOMO的EAF漏乘。平时练习时题目经常默认EAF1.0导致我对乘法不敏感。真上了考场题目给了EAF1.2我算出结果后看选项里有近似值就选了结果错了。从那以后我给自己立了一个规矩只要题目出现EAF就算它等于1.0也在草稿纸上写清楚“乘以EAF”。第四系统转换里把试点和分段混为一谈。当时记成“分批上线统一叫分段”其实试点强调的是“局部试点后推广”分段强调的是“功能按阶段切换”。用“空间”和“功能”这两个维度去区分再也不会混。这四块内容说难不难但特别考验概念边界是否清晰。建议你在考前亲手画一遍转换方式对比表、维护类型分类表、COCOMO公式表、关键路径计算表画完基本就稳了。等到坐在考场里看到这些题目你就知道它们其实都是送分题。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →