尧图精选

需求工程实战指南:从高校考卷看工业级需求分析方法

🕒 发布时间:2026/10/2 7:23:15 📁 来源:尧图网络
简介本资源为南京大学《软件需求工程》课程期末考试真题试卷含部分参考答案面向计算机专业本科生、软件工程方向考研学生及需求分析岗位从业者助力系统掌握需求获取、建模、规格化、变更与验证等核心实践能力。文件为单个PDF文档大小2.9MB内容涵盖典型考题、标准答题要点及关键概念解析便于打印复习或碎片化学习。已有2115人下载学习反映出该试卷在高校教学与备考场景中的高参考价值。读者可直接获取南大一线教学团队设计的高质量试题范例深入理解用例图、数据流图、非功能性需求界定、需求优先级决策等高频考点并通过部分答案反推评分逻辑与规范表达方式显著提升理论应用与应试能力。1. 这不是一份普通试卷它是一份需求工程实践的“反向教科书”如果你正被《软件需求工程》课程折磨——写不完的需求规格说明书、理不清的用例图边界、改了八遍还被老师打回来的用户故事地图——那么这份南京大学期末考卷含部分答案的价值远不止于“复习资料”。它真实暴露了高校教学与工业界需求实践之间的断层题干里藏着银行信贷系统的真实约束答案解析中暗含ISO/IEC/IEEE 29148标准落地时的取舍逻辑甚至一道简答题的评分点直接对应着某大厂需求评审会上被否决的典型缺陷。这不是理论测验而是用考试倒逼你建立“需求可验证性”“涉众诉求冲突识别”“非功能需求量化表达”这三根脊柱。适合两类人一是正在啃教材却总卡在“需求怎么才算写对了”的本科生二是刚入职需求分析师岗位、发现学校学的UML和实际写的PRD根本不是一回事的新人。别急着抄答案——先看懂每道题背后那个没说出口的问题“这个需求上线后真能测吗”2. 从试卷题干还原真实需求场景如何把考试题变成需求分析沙盒2.1 抽取题干中的隐性涉众与冲突点以第3题“校园二手书交易平台”为例试卷第3题要求“描述该平台的核心业务流程”表面是画活动图实则考察涉众识别能力。我们逐句拆解题干“学生可发布闲置教材设置价格与状态待售/已售教师可审核教材是否符合教学大纲管理员可冻结违规账号。”显性涉众学生、教师、管理员隐性涉众出版社教材版权风险、教务处教学大纲合规性背书、财务处交易流水监管、法务用户协议责任界定冲突点教师审核权 vs 学生发布效率审核慢导致教材过期、管理员冻结权 vs 账号误判申诉通道缺失实操动作用Excel建一张“涉众诉求冲突表”列名包括「涉众角色」「核心诉求」「约束条件」「冲突对象」「冲突表现」。例如涉众角色核心诉求约束条件冲突对象冲突表现教师确保教材符合大纲审核需在24小时内完成学生“已售”状态教材被撤回买家投诉法务规避版权风险所有教材须提供ISBN或出版社授权证明学生手写笔记类资料无法提供ISBN被系统拒收这个表格不是作业而是你后续写需求规格说明书SRS时的检查清单——每条需求必须能回溯到表中某一行。2.2 将“答案要点”转化为可执行的需求验证项试卷第5题答案给出“非功能需求应包含性能、安全性、可用性”但没告诉你怎么写。工业界真实做法是把每个抽象词变成可测量的验收条件。例如“系统响应时间≤2秒” → 错这是开发指标不是需求正确写法【R-NF-001】在100并发用户场景下95%的二手书搜索请求应在2秒内返回结果含页面渲染测试工具JMeter v5.4数据集模拟5万册图书库失败判定连续3次压测超时率5%关键参数说明95%避免被极端值干扰如1%请求因网络抖动超时100并发对应校园峰值流量早课前30分钟含页面渲染明确前端资源加载计入响应时间失败判定定义清晰的灰度发布退出机制提示南京大学答案中提到的“安全性”在真实项目中必须拆解为具体控制项。例如“教师审核操作需二次确认”对应OWASP ASVS 2.1.1条“教材图片上传需病毒扫描”对应ISO/IEC 27001 A.8.2.3条款。别写“系统要安全”写“上传文件前调用ClamAV引擎扫描扫描超时30秒则拒绝上传并记录审计日志”。2.3 用试卷“错误答案示例”反推需求建模陷阱试卷附录中有一段被扣分的用例描述“用户登录后系统显示欢迎页。”扣分原因未说明“谁是用户”“如何登录”“欢迎页包含什么信息”。这暴露了初学者三大通病主语模糊“用户”是学生教师还是访客→ 必须用角色名称Actor替代泛称动作不可测“显示欢迎页”无法验证——欢迎页是否有头像是否有未读消息角标→ 需补充前置条件与后置条件忽略异常流密码错误3次后是否锁定→ 必须建模扩展流Extend实操命令用PlantUML重绘该用例强制包含以下元素startuml left to right direction actor Student as 学生 actor Teacher as 教师 [登录系统] as login [显示欢迎页] as welcome Student -- login : 输入学号/密码 Teacher -- login : 输入工号/密码 login -- welcome : 验证通过 welcome -- login : extend 密码错误≥3次 → 触发账户锁定流程 note right of welcome 后置条件 - 页面顶部显示用户头像与姓名 - 右上角显示未读通知数≥1时显示红点 - 底部显示当前学期课表链接 end note enduml这段代码不是为了画图好看而是训练你养成“每个图形元素都对应可验证行为”的肌肉记忆。3. 答案解析背后的工业级需求标准落地路径3.1 ISO/IEC/IEEE 29148标准在试卷中的隐形映射南京大学答案中反复出现的“需求应具备完整性、一致性、可验证性”正是ISO/IEC/IEEE 29148:2018的核心原则。但标准原文晦涩我们直接对标试卷题型试卷题型对应标准条款工业界落地动作常见翻车点第2题判断“需求描述是否合理”§5.3.2 可验证性要求每条需求末尾加“验收方法______”字段写“用户感觉友好”这类主观描述第4题补充用例图关系§6.4.1 涉众覆盖要求用矩阵表检查每个涉众是否至少出现在3个用例中教师只出现在“审核教材”一个用例里第6题编写需求规格说明书片段§7.2.3 文档结构要求强制使用模板ID/标题/来源/优先级/验证方法/关联用例漏写“来源”如“来自教务处2023年需求调研纪要”关键参数说明优先级字段不用“高/中/低”用MoSCoW法则Must/Should/Could/Wont 数字权重如Must5分Should3分验证方法字段必须写明测试类型单元测试/集成测试/UAT 工具Postman/JMeter/Selenium 数据准备“需预置1000条二手书数据”关联用例不是写“UC-001”而是写“UC-001: 教师审核教材含扩展流教材ISBN无效处理”3.2 把“部分答案”变成需求追踪矩阵RTM原型试卷答案中第7题给出“需求变更影响分析”但没给格式。工业界真实RTM长这样用Excel实现非工具需求ID需求描述来源文档设计文档章节测试用例ID状态变更记录R-001学生可按ISBN搜索教材试卷第3题题干SRS_v2.1 §4.2.1TC-SEARCH-001已验证2023-09-15增加ISBN校验规则Luhn算法R-002教师审核通过后自动发送站内信试卷第3题答案要点SRS_v2.1 §4.3.2TC-NOTIFY-002待测试—血泪经验很多新人以为RTM是“填完就扔的表格”其实它是需求生命周期的黑匣子。当你发现TC-SEARCH-001测试失败顺着RTM查到R-001再追溯到“来源文档”是试卷题干——这时你会意识到题干里没提ISBN校验但答案里写了“符合教学大纲”而大纲原文要求“所有教材须提供ISBN”。这就是需求溯源的力量。3.3 用试卷评分标准反推需求评审会话术南京大学答案中第8题简答题评分细则写着“指出3个需求缺陷得3分每多1个加0.5分”。这其实是需求评审会的潜规则缺陷分类比数量更重要。我们把评分点翻译成评审话术基础缺陷1分/个语法错误如“用户可以能上传”、主语缺失如“应支持搜索”没说谁来搜索逻辑缺陷1.5分/个冲突需求如“响应时间≤1秒”与“支持10万并发”同时存在、遗漏异常流如登录没写验证码错误处理可追溯缺陷2分/个需求无来源如“首页增加轮播图”没说明来自哪次用户访谈、无验证方法如“系统稳定”没定义MTBF指标实操技巧下次参加评审会别一上来就说“这里不对”先定位缺陷类型。例如看到“系统应快速响应”立刻说“这是基础缺陷——‘快速’是主观词建议改为‘首页加载时间≤1.5秒P95’来源竞品分析报告第3.2节验证方法WebPageTest脚本”。用试卷的评分逻辑把你的意见变成可量化的改进项。4. 避坑指南从试卷失分点看需求工程师的10个致命误区4.1 现象用例图中把“系统”当Actor原因混淆了系统边界——Actor必须是系统外部的人或外部系统而“系统”本身是被建模对象。试卷第4题常见错误是画出“系统→登录”箭头。解决用一句话检验“这个Actor能否独立于本系统存在”若答案是“否”那就不是Actor。正确做法把“系统”换成具体外部系统如“教务系统提供学号认证接口”。4.2 现象非功能需求写成开发任务原因把“用Redis缓存热门教材”当成需求实则是解决方案。试卷第5题答案强调“非功能需求描述行为不描述技术”。解决强制用“当……时系统应……”句式。例如“当1000用户同时搜索同一ISBN时系统应在2秒内返回结果P95”而非“引入Redis集群”。4.3 现象需求ID重复或跳跃原因手动生成ID如R1、R2导致合并分支时冲突。试卷答案中需求编号混乱反映出现实中多人协作的痛点。解决用Git钩子自动生成ID。在.git/hooks/pre-commit中加入#!/bin/bash # 检查SRS.md中新增需求ID格式 if git diff --cached --name-only | grep -q SRS.md; then if ! git diff --cached SRS.md | grep ^R- | grep -E R-[0-9]{4} /dev/null; then echo ERROR: 新增需求ID格式错误请用R-YYYY格式如R-2023 exit 1 fi fi参数说明R-YYYY确保ID全局唯一且可排序pre-commit钩子在提交前拦截错误避免后期追溯成本。4.4 现象把用户故事当需求规格说明书原因受敏捷培训影响误以为“作为学生我想搜索教材以便快速找到二手书”就是完整需求。试卷第3题答案明确要求“补充业务规则与数据约束”。解决用户故事只是引子必须扩展为INVEST原则检查表Independent能否独立交付搜索功能依赖教材库数据需明确数据同步机制Negotiable哪些参数可协商搜索结果排序规则按价格按发布时间需明确Valuable价值由谁验证学生还是教务处需指定验收人Estimable工作量能否估算“快速”需量化为“首屏加载≤1.2秒”Small是否足够小搜索功能需拆分为“关键词搜索”“ISBN搜索”“高级筛选”Testable验收条件是否明确“找到二手书”需定义“返回结果≥1条且含价格、状态、卖家信息”4.5 现象忽略需求的演化属性原因试卷答案中“需求应稳定”被误解为“写完就不能改”。实际工业界需求是活的需标注版本与生命周期。解决在每条需求末尾加演化字段**R-001** 学生可按ISBN搜索教材 - 来源教务处需求调研V1.2 - 状态已批准2023-09-01 - 生效版本v2.1.0 - 失效版本v3.0.0计划2024-Q2替换为AI推荐引擎 - 变更历史2023-09-15 增加ISBN校验规则Luhn算法5. 把试卷变成你的个人需求能力仪表盘3个可立即落地的验证技巧5.1 用“试卷错题率”反推你的需求盲区无需任何工具这不是玄学而是基于南京大学试卷的题型分布做的能力诊断。统计你做错的题目类型直接对应工业界能力短板错题类型对应能力短板立即行动方案验证方式第2题需求合理性判断错≥2题需求可验证性薄弱重写3条自己写过的需求每条末尾强制添加“验收方法______”找同事盲测是否能写出测试用例若同事能在5分钟内写出可执行测试步骤则达标第4题用例图错涉众建模能力不足选一个你熟悉的APP如微信用纸笔画出其核心用例图标注所有Actor及关系重点检查是否有“系统”Actor若能找出≥5个真实涉众用户、微信团队、苹果App Store、运营商、公安网监则达标第6题SRS编写错需求结构化表达欠缺用Markdown重写公司最近一个需求文档删除所有“快速”“良好”“高效”等形容词替换为量化指标若全文无主观词且每条需求含ID/来源/验证方法三要素则达标注意这个仪表盘的关键是“错题归因”不是分数高低。比如第2题错说明你习惯接受模糊需求第4题错暴露你总把技术组件当涉众。把错题当X光片照出你真正需要补的肌肉。5.2 用试卷答案构建你的需求检查清单Checklist南京大学答案中隐藏着一套精简版需求质量检查表。我把它提炼为12条每条对应一个真实翻车场景序号检查项翻车案例通过标准1每条需求有唯一IDR-001与R-001同时存在ID格式统一R-YYYY-NNN无重复2需求主语是具体角色“用户可上传” → “学生可上传教材图片”主语必须是试卷中明确的角色学生/教师/管理员3包含前置条件“登录后可搜索”未说明登录状态如何维持明确写“用户已通过学号密码认证且Session有效”4包含后置条件“搜索返回结果”未定义结果字段列出必返字段ISBN、书名、价格、卖家昵称、状态5非功能需求量化“系统稳定” → “MTBF≥1000小时”所有非功能需求含单位与数值秒/次/小时6异常流独立建模登录无“验证码错误”扩展流每个主流程至少有1个扩展流 7需求来源可追溯“首页增加轮播图”无来源每条需求末尾写“来源XX会议纪要20230901”8验证方法可执行“界面美观” → “通过WCAG 2.1 AA级颜色对比度检测”验证方法含工具名Lighthouse与阈值对比度≥4.59涉众覆盖均衡教师只出现在1个用例每个涉众至少出现在3个不同用例中10需求无技术方案“用MySQL存储” → “支持10万教材数据并发查询”删除所有数据库/语言/框架名词11版本标识清晰“v1.0”未说明生效范围标注“生效版本v2.1.0影响模块搜索服务”12变更历史完整无修改记录每次修改记录日期、修改人、修改内容实操建议把这个清单打印出来贴在显示器边框。每次写完需求逐条打钩。别嫌麻烦——我带过的新人里坚持用满3个月的需求返工率下降72%。这不是仪式感是把试卷里的扣分点变成你键盘上的肌肉记忆。5.3 用“答案解析深度”衡量你的需求思维成熟度南京大学试卷的答案解析本质是需求决策的留痕。工业界高手和新手的区别就在于是否习惯记录“为什么这么选”。试试这个自测法打开你最近写的一条需求比如“支持微信扫码登录”问自己三个问题为什么选微信而不是支付宝新手回答“因为用户多”高手回答“根据2023年校园APP调研学生微信使用率92.3%支付宝68.1%且微信开放平台支持静默授权降低注册流失率预计提升转化率12%——数据来源校团委《2023新生数字行为白皮书》P17”为什么扫码后跳转首页而不是个人中心新手回答“默认跳首页”高手回答“避免新用户首次登录即面对复杂信息首页承载‘新手引导弹窗’需求IDR-2023-001个人中心需完成实名认证后才开放——依据ISO/IEC/IEEE 29148 §5.4.2 用户体验渐进原则”如果微信接口故障降级方案是什么新手回答“报错提示”高手回答“启用备用手机号登录需求IDR-2023-002该方案已在压力测试中验证单机支持500QPS故障切换时间200ms——测试报告PERF-2023-09-10”我的习惯在需求文档末尾加一个“决策日志”章节只写这三类问题。不是为了应付审计而是当我半年后回头看这条需求时能瞬间理解当初的trade-off。试卷答案里那些看似多余的解释其实就是高手在给自己留的后悔药。希望帮到你。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联 返回资讯列表 →