软件工程-软件需求

一:需求的作用

  1. 软件通常为一些产品
    • 提供了控制功能
    • 提供耦合功能
    • 提供一些由软件本身所实现功能
  2. 需求分析
    • 通过分析分配给软件的那些系统需求,确定软件需求及约束
  3. 软件体系结构设计
    • 为软件需求及约束,确定一组解决方案
  4. 验证,确认及测试
    • 以需求为准则,通过测试,演示,分析及审查等方式,评估最终产品和文档

二:需求的定义

  1. 定义:一个需求是一个有关“要予构造”的陈述,描述了待开发产品/系统功能上的能力,性能参数或者其它性质。
  2. 需求的基本性质
    • 必要性
    • 无歧义性
    • 可测的
    • 可跟踪的
    • 可测量的

三.需求的分类

  1. 功能
    • 功能需求:功能需求规约了系统或系统构件必须执行的功能
  2. 性能
    • 性能需求:性能需求规约了一个系统或系统构件必须具有的性能特性
  3. 外部接口
    • 外部接口需求:外部接口需求规约了系统或系统构件必须与之交互的硬件、软件或数据库元素
    • 分类:
      • 系统接口:
      • 用户接口
      • 硬件接口
      • 软件接口
      • 通讯接口
      • 内存约束
      • 操作
      • 地点需求
  4. 设计约束
    • 设计约束:设计约束限制了系统或系统构件的设计方案
  5. 质量属性
    • 质量属性:质量属性规约了软件产品必须具有的一个性质是否达到质量方面一个所期望的水平
    • 属性分类:
      • 可靠性
      • 存活性
      • 可维护性
      • 用户友好性
      • 安全性
      • 可移植性

四.需求发现

  1. 自悟:需求人员把自己作为系统的最终用户,审视该系统并提出问题
  2. 交谈:为了确定系统应该提供的能力,需求人员通过提出问题,用户回答,直接询问用户想要的是一个什么样的系统
  3. 观察:通过观察用户执行其现行的任务和过程,或通过观察他们如何操作与所期望的新系统有关的现有系统,了解系统运行的环境
  4. 小组会:举行客户和开发人员的联席会议,与客户组织的一些代表共同开发需求
  5. 提炼:复审技术文档,并提出相关的信息

五.需求规约的概念和格式

  1. 定义:一个需求规约是一个软件项/产品/系统所有需求陈述的正式文档,是一个软件产品/系统的概念模型
  2. 性质:
    • 重要性和稳定性程度
    • 可修改的
    • 完整的
    • 一致的

六.需求规约的作用

  1. 作用:
    • 作为软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现
    • 对于项目的其余大多数工作,它是一个管理控制点
    • 对于产品的设计,它是一个正式的、受控的起始点
    • 是创建产品验收测试计划和用户指南的基础
  2. 对应关系
    • 有效性测试-------需求分析
    • 集成测试 ---------总体设计
    • 单元测试---------详细设计阶段
  3. 初始测试计划
    • 主要内容:对未来系统中的哪些功能和性能指标进行测试,以及达到何种要求
    • 作用:指导系统开发早期发现并修改错误,减少测试代价
  4. 用户系统操作描述
    • 主要内容:从用户使用系统的角度,简要描述系统功能和性能,使用系统的主要步骤和方法,以及系统用户的责任
  5. 需求规约不能实现的作用
    • 它不是设计文档,它是一个“为了“设计的文档
    • 它不是进度或规划文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统需求拆分为硬件需求软件需求需要根据具体的系统需求进行分类和分析。是一些常用的方法: 1. 根据功能进行分类:将系统需求按照不同的功能进行分类,对于需要硬件实现的功能,可以将其拆分为硬件需求,例如需要使用特定的传感器、控制器、执行器等;对于需要软件实现的功能,可以将其拆分为软件需求,例如需要编写特定的算法、逻辑等。 2. 根据性能进行分类:将系统需求按照性能要求进行分类,对于需要高性能硬件需求,可以将其拆分为硬件需求,例如需要使用高速处理器、高速存储器等;对于需要高性能软件需求,可以将其拆分为软件需求,例如需要使用高效的算法、并行计算等。 3. 根据可靠性进行分类:将系统需求按照可靠性要求进行分类,对于需要可靠硬件需求,可以将其拆分为硬件需求,例如需要使用高可靠性的传感器、控制器等;对于需要可靠软件需求,可以将其拆分为软件需求,例如需要使用可靠的算法、数据结构等。 4. 根据安全性进行分类:将系统需求按照安全性要求进行分类,对于需要安全硬件需求,可以将其拆分为硬件需求,例如需要使用具有安全加密功能的芯片、模块等;对于需要安全软件需求,可以将其拆分为软件需求,例如需要编写具有安全性保障的算法、协议等。 在对系统需求进行硬件软件拆分时,需要注意需求间的关联性和依赖性,以确保拆分后的需求能够覆盖原始需求并且不会产生冲突。同时,需要对拆分后的需求进行详细的描述和规定,以确保各个开发团队能够理解和实现这些需求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值