用户需求

良好软件设计的第一步就是知道它需要做什么。软件需求包括以下几个不同类型的需求:

  • 业务需求 - 以业务术语描述软件价值,即,如何发现组织需求。
  • 功能需求 - 描述软件行为,即,软件打算完成什么功能。
  • 非功能需求 - 描述软件必须达到的质量标准,即,软件完成的有多好。

什么是功能性需求?

功能性需求是理解你要构建什么的一种简单的方法,以便你不会吧时间和金钱浪费在错误的事情上。也是实现优雅设计的必须的信息。在软件开发阶段属于分析阶段。

  • 你可以通过举行会面,会议或向用户提问题来获取需求:
  • 预期完成什么任务?
  • 从用户观点来看什么是最有的工作流?
  • 什么是所有潜在的输入,包括它们的类型和合法的范围?
  • 什么是所有预期的输出,包括类型,格式和范围?
  • 必须支持什么文件格式和类型?
  • 如果有,这个问题领域应该有什么思想模型?
  • 他们使用什么域术语?

非功能性需求也支持功能性需求。非功能性需求描述的是操作的限制而不是实际行为。这些质量属性可能对于用户非常关键。非功能性需求通常包括:

  • 性能 - 某些操作的响应速度。
  • 平台兼容性 - 必须能运行在什么平台?
  • 安全性 - 数据安全,包括访问和隐私。
  • 可测量性 - 系统能处理真实世界的数据输入吗?
  • 灵活性 - 是否能够扩展
  • 可用性 - 系统容易理解,学习和使用吗?
  • 并发性
  • 成本

功能性需求通常有需求文档管理,每个需求都有独一无二的ID和描述。也可以提供必须的理由来陈述为什么需要这个需求。良好的功能性需求通常有以下特征:简单,易读,无歧义,可验证,使用术语。

很重要的一点:别过度描述技术细节:功能性需求应该描述要做什么,而不是如何做。

维护需求

需求总是变化,应该总是预期随着时间的推移,需求会变化。随着系统发展,用户对所需要的东西会更加清晰,因此会发生需求变化。因此,你要确保记录需求的版本和日期,方便以后了解需求的发展。需让客户知道,随着需求的变化,会延长项目的交付日期和增加开发成本。

 

posted on 2016-10-17 14:15  黑暗帝国  阅读(203)  评论(0编辑  收藏  举报

导航