【软件工程】需求工程:需求获取与需求分析 📅 2026/7/13 17:58:04 考点频率★★★★★选择题必考案例分析题高频难度⭐⭐建议重点掌握需求获取与需求分析的区别记住“获取是‘收’分析是‘理’”1️⃣ 需求工程在软考中的分量需求工程是软考软件设计师考试中软件工程模块的核心考点历年考试题型以单项选择题、多项选择题和案例分析题为主分值占比约8%-12%。概念辨析题如区分需求获取与需求分析的区别是选择题的常客。在软件设计师考试中需求工程相关知识点占软件工程模块分值的20%-25%。据统计软件项目失败的主要原因之一就是需求获取不完整、需求理解有偏差导致后续架构设计与用户期望脱节返工成本激增。2️⃣ 需求工程是什么需求工程是指应用已证实有效的原理、方法通过合适的工具和记号系统地描述待开发系统及其特征和相关约束。它不仅仅是“收集需求”而是一个贯穿软件生命周期初始阶段的综合性工程活动。需求工程主要分为两大块需求开发和需求管理。需求开发包括需求获取、需求分析、需求定义编写需求规格说明书和需求验证四个阶段。软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。今天这篇文章聚焦于需求工程的前两个阶段需求获取和需求分析。3️⃣ 需求获取把“原材料”收上来3.1 什么是需求获取需求获取的核心任务是从用户、干系人、现有系统那里“挖”出原始需求。它关注的是“用户想要什么”。用一个比喻来说需求获取就像你去菜市场买菜——你要把各种原材料用户的需求、期望、约束先搬回厨房。需求获取的核心任务是“把原材料的来源搞明白”——你要主动找客户、用户、领域专家去聊、去问、去观察。输出物用户需求列表、用户访谈纪要、业务流程图草图3.2 常见需求获取方法需求获取方法大致分为三类直接沟通、间接观察、原型法。直接沟通类用户访谈适合深挖隐性需求一对一沟通以开放式问题为主联合需求计划JRP召集用户、开发、测试等多方代表集中工作坊式获取需求高效促成多方共识问卷调查适合用户群分散、需要统计样本分布的场景广覆盖收集共性意见间接观察类现场观察到用户工作现场观察实际操作流程发现用户自己都意识不到的隐性需求用户日志分析通过分析用户的操作记录来挖掘需求原型法快速构建原型让用户试用和反馈在需求不明确时最有效需求获取阶段用原型探索需求需求分析阶段用原型确认需求作用不同考试陷阱研讨会和焦点小组的区别——前者是结构化讨论后者是非结构化头脑风暴。用户访谈一定要覆盖所有干系人不能只找领导不找一线员工。3.3 需求获取的注意事项区分用户需求和系统需求用户需求是业务语言“我要能快速下单”系统需求是技术语言“系统响应时间≤2秒”双向确认当天获取的内容当天发给对方确认避免“你说过”“我没说过”的扯皮分类归档每条需求打上标签——功能类、非功能类、约束类、假设类4️⃣ 需求分析把“原材料”加工成“产品蓝图”4.1 什么是需求分析需求分析是对获取到的原始需求进行过滤、建模、排序和冲突消除最终形成软件需求规格说明书SRS。它回答的是“系统应该做成什么样”。用一个比喻来说需求分析就像你回到厨房把买来的菜原始需求洗好、切好、配好——变成可以直接下锅的食材可指导开发的规格说明。输出物数据流图、用例图、需求规格说明书SRS需求分析阶段的核心是建模——把原始需求“翻译”成可验证的逻辑模型。4.2 需求分析的主要活动活动说明需求建模用例图、数据流图DFD、状态图等需求排序如MoSCoW方法Must have / Should have / Could have / Won’t have冲突识别与消除发现并解决不同干系人需求之间的矛盾需求验证检查需求的正确性、完整性、一致性4.3 结构化分析方法SA结构化分析方法是软考的核心考点。它的核心思想是“自顶向下逐层分解”。把一个大系统像剥洋葱一样分解成若干个小功能模块重点关注数据在系统中的流动、处理和存储。核心建模工具工具作用考试要点数据流图DFD描述系统的输入、输出、存储和处理逻辑四大要素外部实体、加工、数据存储、数据流数据字典DD精确定义DFD中的所有数据元素消除二义性是数据库设计的重要输入加工逻辑描述细化DFD中复杂加工的内部逻辑结构化语言、判定表、判定树DFD分层绘制顶层图语境图确定系统边界 → 0层图展示核心加工 → 对复杂加工继续分解。考试重点补充缺失的数据流、指出错误如黑洞、灰洞、不平衡。数据流必须经过加工不能直接在外部实体与存储间流动。5️⃣ 需求获取 vs 需求分析核心区别重点这是软考选择题中极易混淆的考点务必分清。对比维度需求获取需求分析核心动作收集、记录、提问建模、验证、优先级排序输出物访谈纪要、问卷汇总数据流图、用例图、需求规格说明书关键方法访谈、观察、原型演示结构化分析、面向对象分析参与者用户、客户、领域专家系统分析师、架构师典型问题“用户说想加积分功能”“积分功能与现有订单系统如何对接”是否建模❌ 不涉及建模✅ 必须建模一句话总结需求获取是“收集原材料”把话问清楚需求分析是“把原材料加工成产品蓝图”把理理明白。软考答题技巧判断某个活动属于哪个阶段——“有建模就是分析没建模就是获取”。6️⃣ 经典例题例题1需求工程中“通过用户访谈、研讨会等方式收集所有相关方的需要和期望”主要对应于 阶段。A. 需求分析B. 需求获取C. 需求规格说明D. 需求验证解析题干中的关键词“收集”直接指向需求获取阶段。需求分析是对收集到的信息进行提炼、建模规格说明是文档化验证是确认正确性。很多考生会误选A但题目明确说“收集”行为属于获取阶段。答案B例题2以下关于需求获取与需求分析的叙述中正确的是 。A. 需求获取阶段需要绘制数据流图B. 需求分析阶段不需要与用户沟通C. 需求获取的输出是软件需求规格说明书D. 需求分析需要对需求进行建模和冲突消除解析A错误——需求获取不涉及建模B错误——需求分析仍需与用户沟通确认C错误——需求获取的输出是用户需求列表SRS是需求分析的输出D正确。答案D7️⃣ 记忆口诀需求获取是“收”需求分析是“理”。获取不建模分析必建模。获取问“要什么”分析定“什么样”。人多地散用问卷痛点不清做访谈部门扯皮开JRP。DFD看流程DD定细节。8️⃣ 小测验评论区对答案某软件项目团队通过观察一线操作员的日常工作流程记录了他们使用现有系统的方式和痛点。随后团队根据这些记录绘制了用例图和数据流图并对不同部门的需求进行了优先级排序。请问观察操作员工作属于 阶段绘制用例图属于 阶段。A. 需求获取需求分析B. 需求分析需求获取C. 两者都是需求获取D. 两者都是需求分析本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #需求工程 #需求获取 #需求分析 #软件工程