zoukankan      html  css  js  c++  java
  • 用户需求

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

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

    什么是功能性需求?

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

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

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

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

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

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

    维护需求

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

  • 相关阅读:
    OKHttp使用详解
    spring okhttp3
    HTTPS SSL/TLS协议
    springboot @scheduled 并发
    spring @Scheduled 并发
    CORSFilter 跨域资源访问
    定时任务 spring @Scheduled注解
    spring proxy-target-class
    iOS 适用于Pad上的菜单弹出界面-最简单的一种实现记录
    Mac系统清理、占用空间大、空间不够、查看系统文件大小分布
  • 原文地址:https://www.cnblogs.com/C-Sharp2/p/5969582.html
Copyright © 2011-2022 走看看