软件工程 名词定义

需求

定义

系统必须提供的能力和必须遵从的条件。

通常我们把需求分为功能性和非功能性,可以这样理解,但千万不要这样去划分和实现。 非功能性需求是依附在功能性需求,

  • 功能性强调的系统能够做什么
  • 非功能性需求强调的是此功做的怎样(性能、安全)

建议将非功能性需求定义理解成质量属性(即遵从or限制条件),来描述(功能)需求。(类似元数据)

例子

例如房屋抗震等级作为房屋的一种质量属性,在开始建造的时候必须要确定,因为它决定了房屋设计的框架以及建筑材料的选择等等。一旦房屋建造完毕,发现抗震等级不过关,想想也是太可怕了。同理,软件后期的主要问题大多都关于性能问题,都源于设计。

结论

需求=功能描述+质量属性

摘录 UML和模式应用

  • 功能描述

  • 质量属性

    *   性能(performance):响应时间、吞吐量、准确性、有效性、资源利用率
    
    • 可用性(usability):人性化因素、帮助、文档。

    • 可靠性(reliability):鼓掌频率、可恢复性、可预测性。

    • 可支持性(supportability):适应性、可维护性、国际化、可配置性。

    • 其他

                  *   实现 (implement):资源限制、语言和工具、硬件等。
      
      *   接口(interface):强加于外部系统接口之上的约束。
      
      • 操作 (operation):对操作设置的系统管理
      • 授权 (legal): 许可以及其他
      • 包装 (packaging):物理包装盒等

你可能感兴趣的:(软件工程 名词定义)