目录
一、软件需求概述
真题示例:
二、质量功能部署(QFD)
三、需求开发流程
需求获取
需求分析
需求定义(SRS)
需求验证
真题示例:
四、需求管理
真题示例:
一、软件需求概述
软件需求分为三个层次:
- 业务需求:企业/客户的高层次目标(如项目投资人、市场部门提出)。
- 用户需求:用户的具体任务或目标(通过访谈、问卷调查获取)。
- 系统需求:包括功能需求、非功能需求和设计约束。
- 功能需求:系统必须实现的具体功能(如拼写检查)。
- 非功能需求:系统质量属性(如性能、可靠性)。
- 设计约束:限制条件(如必须使用国产数据库)。
真题示例:
软件需求开发是指从情况收集、分析和评价到编写文档、评审等一系列产生需求的活动,分为获取情况、分析、( )和评审四个阶段。
A. 制订规格说明 B. 形成需求基线 C. 跟踪需求变更 D. 控制需求版本
软件需求开发分为获取情况、分析、制订规格说明和评审四个阶段。制订规格说明即输出《软件需求规格说明书》,作为开发基线。形成需求基线是需求验证确认后用户签字后的结果;跟踪需求变更和控制需求版本属于需求管理的范畴,并非需求开发阶段的内容。
某软件公司正在承担开发一个字处理器的任务。在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中:
- “找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”属于( );
- “显示提供替换词的对话框以及实现整个文档范围的替换”属于( );
- “用户能有效地纠正正文档中的拼写错误”属于( ) 。
A. 业务需求 B. 用户需求 C. 功能需求 D. 性能需求
用户需求、功能需求、业务需求
-
“找出文档中的拼写错误并提供一个替换项列表来供选择替换拼错的词”
这一需求描述了用户希望系统能够帮助他们完成的具体任务,属于用户需求。它从用户角度出发,明确了用户希望通过系统实现的目标(检测错误并提供替换选项)。 -
“显示提供替换词的对话框以及实现整个文档范围的替换”
这一需求具体说明了系统需要实现的功能模块(如对话框的显示和全局替换功能),属于功能需求。它定义了系统如何通过技术手段满足用户需求。 -
“用户能有效地纠正文档中的拼写错误”
这一需求是公司开发该功能的高层次目标,属于业务需求。它反映了组织开发系统的业务动机(提升用户体验和产品竞争力)。
这种分类确保了需求从抽象目标到具体实现的层次递进,符合软件工程的需求分析方法。
二、质量功能部署(QFD)
将用户需求转化为技术需求,分为三类:
- 常规需求:用户明确提出的功能,实现越多越满意。
- 期望需求:用户默认应具备的功能(未实现会导致不满)。
- 意外需求:超出用户预期的功能(实现可提升满意度,但不影响购买决策)。
三、需求开发流程
-
需求获取
- 方法:用户访谈、问卷调查、采样、情节串联板、联合需求计划(JRP)。
-
需求分析
- 目标:确保需求无二义性、可测试、完整。
- 任务:绘制系统上下文图、创建原型、确定优先级、建立数据字典等。
- 结构化分析模型:
- 功能模型:数据流图(DFD)。
- 行为模型:状态转换图(STD)。
- 数据模型:E-R图。
- 数据流图
-
数据流图描述数据在系统中如何被传送或变换,以及如何对数据流进行变换
的功能或子功能,用于对功能建模,数据流图相关概念如图: -
-
数据流图是可以分层的,从顶层(即上下文无关数据流)到0层、1层等,顶
层数据流图只含有一个加工处理表示整个管理信息系统,描述了系统的输入和
输出,以及和外部实体的数据交互。数据流图示例如下: -
-
-
- 目标:确保需求无二义性、可测试、完整。
-
需求定义(SRS)
- 输出《软件需求规格说明书》,作为开发基线。
- 方法:
- 严格定义:假设所有需求可预先明确。
- 原型法:通过迭代模型逐步确认需求。
-
需求验证
- 步骤:评审(正式/非正式) + 测试(概念测试用例)。
- 确认后需用户签字,形成需求基线。
真题示例:
需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,( )方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知识等问题。( )方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。( )方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。
选项内容
A. 用户访谈 B. 问卷调查 C. 联合需求计划 D. 采样
-
用户访谈灵活性高但依赖领域知识。
-
采样通过统计学方法减少偏差。
-
联合需求计划(JRP)是群体会议驱动的需求获取方式。
-
问卷调查更适用于大规模数据收集。
四、需求管理
- 需求基线:通过评审的需求说明书,变更需走流程。
- 变更控制委员会(CCB):审批和监督需求变更。
- 双向跟踪:
- 正向跟踪:检查用户需求是否全部实现。
- 反向跟踪:检查系统功能是否均源于用户需求。
- 常见风险:用户参与不足、需求蔓延、模糊需求等。
真题示例:
( )是关于需求管理正确的说法。
A. 为达到过程能力成熟度模型第二级,组织机构必须具有3个关键过程域
B. 需求的稳定性不属于需求属性
C. 需求变更的管理过程遵循变更分析和成本计算、问题分析和变更描述、变更实现的顺序
D. 变更控制委员会对项目中任何基线工作产品的变更都可以做出决定
A.CMM二级要求6个关键过程域(需求管理、项目计划、项目跟踪、配置管理、质量保证、子合同管理)
B. 需求的稳定性(如变更频率)是重要属性
C. 正确顺序应为:问题分析和变更描述→变更分析和成本计算→变更实现
D. 变更控制委员会(CCB)负责审批所有基线产品的变更
在结构化分析中,用数据流图描述( )。当采用数据流图对一个图书馆管理系统进行分析时,( )是一个外部实体。
A. 数据对象之间的关系,用于对数据建模
B. 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
C. 系统对外部事件如何响应,如何动作,用于对行为建模
D. 数据流图中的各个组成部分
A. 读者 B. 图书 C. 借书证 D. 借阅
-
数据流图描述内容:
数据流图(DFD)的核心是展示数据流动和功能变换,属于功能建模工具。A选项描述的是E-R图(数据库),C选项描述的是状态转换图。 -
图书馆系统的外部实体:
- 外部实体指系统外的人或组织
- 读者是系统使用者,属于外部实体
- 图书、借书证、借阅都是系统内部数据