需求分析方法
1 需求分析的原则
- 循序渐进
(步骤:采集原始需求,整理需求,建立需求文档模型,编写需求规约文档,复审)
- 自顶向下,逐层分解
- 少涉实现
•避免记录一些因为当前的技术才存在的需求,或者使用一些可能不适合新产品的技术
• 避免对实现的方式做出束缚。除非已经严格的做出要求,否则一般不应使用属于实现的描述
• 各尽其责 - 定义需求属性
每个需求并不仅仅是一行描述语句。每个需求都有类型、原因、开发优先级、风险、客户满意度、客户不满意度、依赖关系、冲突关系,以及来源等属性 - 可验证性
(非功能性:易用性,速度需求,可靠性,安全性) - 可追踪性
- 其他原则
使用术语,尊重客户的意见,重视复用需求,对变更进行管理,要求“确认需求”
对需求描述的要求
1)清晰性
2)简洁性:图表并辅以文字说明加以表示
3)一致性
4)无歧义性:需求的描述应该准确,不能产生歧义
5)有意义性:所描述的需求都应使用陈述句的形式
6)可验证性:所有需求必须可以通过某种方法进行验证
7)唯一性:避免描述重复的需求
8)完整性
9)可追踪性:每个需求必须描述其来源,即该需求的提出者是谁,以便需求变更、设计和测试等工作能有针对性
10)有界性:对做什么、不做什么的需求描述要有明确的界限划分,同时用户对各项需求的要求程度也是不同的,有的是必须完成的,有的是尽量完成的,因此要对这些不同程度的需求加以区分
2 需求收集方法
与用户交流
使用思维图,使用鱼骨图,使用需求卡片
3 传统需求分析建模方法
功能建模(DFD)
数据流程图(Data Flow Diagram, DFD)
指明数据在系统中移动时如何被变换
描述对数据流进行变换的功能(和子功能)
4种符号:方,圆,开口矩(平行线),箭头
3个层次:总体图,零级图,细节图,分别描述系统的不同特征
优点:容易理解,容易在开发方和用户方之间进行交流,以及在开发组织内部交流
分层表示的数据处理
- 总体图:描述了系统和周围环境的关系
- 零级图:表示一个系统的主要功能或者是一个大型系统的主要组成子系统
- 细节图:表示一个复杂的处理的详细内部表示
数据流程图绘制的有关规定
- 外部实体只能出现在总体图和零级图中
- 数据存储只能出现在零级图和细节图中
- 数据存储在分层的数据流程图中只能出现一次
- 数据存储必须既有读操作,也有写操作 <