zoukankan      html  css  js  c++  java
  • 开发随笔之处理非功能需求

    • 当你收集需求时,你可以从用户的需求清单中找出他们想要软件完成什么样的任务,有相关的用例、故事板、需求说明出书来捕捉这样的信息,那么什么又是非功能性需求,又有什么样的内容定义呢?
    • 不合理或无法说清的非功能性需求如:
      • 系统一定要快
      • 系统必须要安全
      • 系统要有尽量高的灵活性
      • 系统要有较高的可用性
      • ....
    • 非功能需求的大体分类:
      • 性能需求:
        • 响应时间:从发出请求到收到反馈的时间,比如点击超链接或桌面应用中的按钮。
        • 延时时间:消息从从A到B,经过你的系统所有的时间。  
      • 可用性需求
        • 使用正常运行时间的百分比描述可用性如:99.9%,99.99%等。
        • 使用可容忍的停机时间百分比来描述可用性如:0.1%,0.01%等。(当容忍停机时间为0.1%时,平均每天留给用户维护、升级与处理故障的时间为1.44分钟)  
      • 可伸缩性
        • 可伸缩性与并发性密不可分,就是处理更多用户、请求、数据、消息的能力,可以以“相同时间内处理多少东西”来描述(如每秒请求数)。
      • 灵活性
        • 系统可以使用不同的方式来执行单个任务,需求描述用例如:用户可以通过配置文件等方式来改变内部业务规则的能力。
      • 安全性
        • 安全性包括了认证,数据传输与存储的机密性,例如对于web应用来说,用户认证应该是最基础的东西。
      • 可扩展性
        • 这个属性是滥用与模糊的,它指软件将来可以做现在还不能做的事情的能力,例如可以通过插件或API的方式实现某些需求的扩展。
      • 审计(可追溯性)
        • 系统能够对重要数据或行为变化的事件进行记录,而需求明确这些变化由谁做出,什么时候做出,做出什么样的信息。
      • 其它非功能性需求
        • 监测  
        • 管理  
        • 国际化  
        • ...  
    • 提炼非功能性需求
      • 从用户描述中提炼,例如从“系统一定要快”等关键字提炼性能需求并反馈回用户。
      • 从系统所在的业务领域中提炼,此部分在用户描述中被忽略而需要我们提出并反馈用户。
      • 尝试量化非功能性需求并能够可测

          

  • 相关阅读:
    Dart语言简介
    Flutter简介
    Flutter之环境配置详解for mac版本
    mac 安卓生成证书(uniapp项目安卓证书申请)
    IOS开发者账号申请流程以及开发证书与配置文件的使用
    解读typescript中 super关键字的用法
    解决Vue编译和打包时频繁内存溢出情况CALL_AND_RETRY_LAST Allocation failed
    JS pc端和移动端共同实现复制到剪贴板功能实现
    Web前端接入人机识别验证码---腾讯防水墙
    Unity3D Demo项目开发记录
  • 原文地址:https://www.cnblogs.com/coder-fang/p/6513000.html
Copyright © 2011-2022 走看看