编程方法 - 理解问题
典型的软件开发过程遵循以下步骤 −
- 需求收集
- 问题定义
- 系统设计
- 实施
- 测试
- 文档
- 培训和支持
- 维护
前两个步骤有助于团队理解问题,这是获得解决方案最关键的第一步。 负责收集需求、定义问题和设计系统的人员称为系统分析师。
需求收集
通常,客户或用户无法清楚地定义他们的问题或要求。 他们对自己想要什么有一个模糊的想法。 因此,系统开发人员需要收集客户需求,以了解需要解决的问题或需要交付的内容。 只有首先了解正在开发解决方案的业务领域,才能详细了解问题。 有助于理解业务的一些关键问题包括 −
- 正在做什么?
- 进展如何?
- 任务的频率是多少?
- 决策或事务量是多少?
- 遇到了哪些问题?
有助于收集此信息的一些技术是 −
- 访谈
- 调查问卷
- 研究现有系统文档
- 分析业务数据
系统分析师需要创建清晰、简洁但全面的需求文档,以便识别 SMART(具体的、可测量的、商定的、现实的和基于时间的)需求。 如果不这样做会导致 −
- 问题定义不完整
- 计划目标不正确
- 重新工作以向客户提供所需的结果
- 成本增加
- 延迟交货
由于所需信息的深度,需求收集也称为详细调查。
问题定义
收集需求并分析后,必须清楚地陈述问题。 问题定义应该明确说明需要解决什么问题。 必须有一个清晰的问题陈述 −
- 定义项目范围
- 让团队保持专注
- 让项目步入正轨
- 验证项目结束时是否实现了预期成果