HNU_SRE_软件需求的本质

Project stakeholders:

  项目干系人/项目涉众:参与软件项目或受软件影响的人

  主要包括:

    客户,用户,需求分析员,开发人员,测试人员,文档编制人员,法律人员,生产人员(制造包含软件的产品),其他人员(市场策划,营销,技术支持等)

需求工程:

  包含着与发现、记录和维护计算机系统的需求相关的所有活动。“工程”意味着应该采用系统的和可重复的技术来确保系统需求是完整的,一致的和相关的。

  RE是从系统工程角度定义。从业务系统角度,可以看作系统分析。

ENGLISH:Requirements are a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system.

软件需求的三个层次:

  业务需求Business~:反应组织或客户对系统、产品高层次的目的要求;(项目远景与范围文档)

  用户需求User~:描述用户使用产品必须完成的任务;(使用实例文档Use-case)

  功能需求Functional~和非功能需求:描述系统展现给用户的行为和执行的操作等;(软件需求规范和模型)

 需求规格说明书:要得到客户的认可;为开发人员提供指导;

需求定义的要点:

  定义“做什么”,不描述“怎么做”

  软件需求规格说明(SRS)重点描述产品应达到和满足的功能与非功能需求特性

  软件开发与运行环境,开发进度,产品成本,培训需求等内容应该在项目需求中进行定义

需求开发和管理:

  软件需求工程领域划分为需求开发和需求管理。

  需求开发:产生经过验证的SRS

    Elicitation 获取;Analysis 分析;Specification 规范说明;Validation 验证  

  需求管理:以SRS为基线,对需求变更进行控制和管理

  (基线:已通过正式评审和批准的规约或产品,他将作为进一步开发的基础,只能通过正式的变更控制过程来改变。)

    Version Control 版本控制;Change Control 变更控制;Requirements Tracing 需求跟踪;Status Tracking 状态跟踪

 每个项目都有需求:

  核心问题不在于写需求,而是判断需求;

  如果项目团队写的需求得不到干系人的认可,则开发人员无法确定自己的工作是否令干系人满意;

  不知道需求,则何时完工,是否满足目标等情况就无法确定

劣质需求产生的原因:

  认识不到位;易变性;不确定性;

  没有抓住主要矛盾;没有强调质量(SRS不符合要求);

  分析不全面;设计没有反映实际情况。

高质量需求过程的好处:

  需求缺陷和产品缺陷更少;后期和维护返工减少等

优秀需求的特点:

  完整性Completeness

  正确性Correctness

  可行性Feasibility

  必要性Necessity

  优先性Priority

  无二义性Unambiguity

  可验证性Verifiablity

  完全性Integrity

  一致性Consistency

  可修改性Modifiable

  可跟踪性Traceability

原文地址:https://www.cnblogs.com/Comet-Fei/p/12331721.html