辞梦

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

软件测试--需求分析

软件需求分析

1.系统分析

是一组成为计算机系统工程的活动,着眼于所有的系统元素,而不仅仅是软件

主要探索软件项目:目标、市场预期、主要技术指标

2.可行性分析

此问题是否值得去解决

针对问题的目标和范围进行概要的分析和研究,探索问题的核心问题以及相应的解决方案

3.需求定义

用户续期——分析需求——形成文档(文档说明产品必须或应当作甚)

4.目标及任务

任务:定义新系统的目标,回答系统“做什么”的问题,并编制需求规格说明书

目标:解决系统“做什么“的问题

image-20240605134709501

5.原则和方法

操作性原则:

  • 问题的信息域必须被表示和理解(数据模型)
  • 软件将完成的功能必须被定义(功能莫i选哪个)
  • 软件的行为必须被表示(行为模型)

数据模型

信息内容和关系:内容表示个体数据和控制对象,它们可以和其他数据和控制对象相关联

信息流:表述数据和控制在系统中流动时变化的方式

信息结构:表示各种数据和控制项的内部组织

功能模型

对进入软件的信息和数据进行变化和处理的模块:输入,处理和输出

行为模型

软件对来自外界的时间做出的反应,这些反应形成了行为模型的基础

工程化原则:

  • 正确的理解问题,建立分析模型
  • 记录每个需求的起源及原因,保证需求的可回溯性
  • 开发一个人机交互过程的原型
  • 给需求赋予优先级
  • 尽量删除歧义性

6.软件需求工程

image-20240605135724525

需求开发——《用户需求说明书》:需求沟通,需求获取

需求定义——《软件需求规格说明书》:需求分析与综合;需求建模;制定需求分析规格说明

需求确认——《需求评审报告》《书面承若》:需求评审;需求承诺

1.需求获取
(1)需求获取的对象:用户和客户

用户:使用软件的人

客户:购买软件的人

用户和客户最终可能是同一个人

需求获取的难点:

  • 用户无法清楚地表达需求
  • 需求分析员必须设法搞清楚用户真正的需求

需求的理解问题

  • 需求分析员和用户可能有误解问题,需求确认工作必不可少(属于需求管理)
  • 用户经常变更需求
  • 需求变更不可怕,可怕的是需求变更失去控制
(2)需求获取的流程
目的 获取用户(客户与最终用户)的需求信息,经过分析后产生《用户需求说明书》
角色与职责 需求分析员调查、分析用户的需求,客户与最供用户提供必要的需求信息
启动准则 需求分析员已经确定需求
输入 任何与用户需求相关的材料
主要步骤 第一步:准备调查
第二步:调查与记录
第三步:分析需求信息
第四步:撰写《用户需求说明书》
第五步:需求确认
输出 《用户需求说明书》
结束准则 需求分析员已经撰写完成《用户需求说明书》(确保无误),《需求说明书》内容无二义性,且涵盖了所有的用户需求
度量 需求分析员统计工作量与上述文档的规模,汇报给项目经理
(3)需求获取的准备工作

调查什么?如何调查?“什么人”在“什么时候”调查?(调查表,调查的方式,调查的时间、地点、人员)

方式

  • 与用户交谈,向用户提问题
  • 参观用户的工作流程,观察用户的操作
  • 向用户群体发调查问卷
  • 与同行、专家交谈,听取意见
  • 分析已经存在的同类软件产品,提取需求
  • 从行业标准、规则中提取需求
  • 从网上搜查相关资料
(4)需求获取与记录

表格形式

(5)撰写用户需求说明书

《用户需求说明》使用自然语言描述用户的需求

《软件需求规格说明书》计算机语言和图形符号

(6)软件需求类型

功能需求 性能需求 环境需求 可靠性需求
安全保密要求 用户界面需求 资源使用需求
软件成本消耗与开发进度需求
预先估计以后系统可能达到的目标

2.需求定义
目的 定义准确无误的软件产品需求,产生《软件需求规格说明书》
角色和职责 需求分析员定义软件需求,客户与最用户确认软件需求
启动准则 《用户需求说明书》撰写完成
输入 《用户需求说明书》
主要步骤 第一步:细化分析用户需求
第二步:撰写软件需求规格说明书
第三步:软件需求确认
输出 《软件需求规格说明书》
结束准则 《软件需求规格说明书》撰写完成,开发方和客户方对产品需求进行确认
度量 需求分析员统计工作量和文档的规模,汇报给项目经理

需求获取之后,对比较复杂的用户需求进行建模分析,帮助开发人员更好地理解需求。
在模型基础上,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。
依据功能需求,性能需求,运行环境需求等,剔除其不合理的部分,增加其需要部分。最终综合成系统的解决方案,给出目标系统的详细逻辑模型。

(1)需求建模

着重描述系统必须做什么

给出逻辑视图(逻辑模型)物理视图(物理模型)

逻辑视图:软件要达到功能和处理数据之间的关系(不是实现细节)

物理模型:处理功能和数据结构的实际表达形式(取决于设备)

方法:

  • 面向对象的分析方法(OOA)
  • 面向数据流的结构化分析方法(SA)
  • 面向数据结构的Jackson方法
  • 建立动态模型的状态转换图登
(2)编制需求分析文档
  • 软件需求规格说明书
  • 数据要求说明书
  • 初步的用户手册
  • 修改、完善和确定软件开发实施计划
3.需求确认
目的 开发方和客户对需求文档进行评审,并作书面承诺
角色和职责 开发方和客户共同组织人员对需求文档进行评审。双方负责人对需求文档作书面承诺,使之有商业合同效果
启动准则 《用户需求说明书》和《软件需求规格说明书》已完成
输入 《用户需求说明书》和《软件需求规格说明书》
主要步骤 第一步:非正式需求评审
第二步:正式需求评审
第三步:获取需求承诺
输出 《需求评审报告》和书面的需求承诺
结束准则 需求文档通过正式评审,并获得开发方和客户的书面承诺
度量 项目经理统计工作量和上述文档的规模
评审的主要内容
  • 系统定义的目标是否与用户的要求一致
  • 系统需求分析阶段提供的文档资料是否齐全
  • 文档中的所有描述是否完整、清晰、准确反映用户要求,有没有遗漏、重复或不一致的地方
  • 与所有其他系统成分的重要接口是否都已经描述
  • 所开发项目的数据流与数据结构是否足够,确定
  • 所有图表是否清楚,在不补充说明时能否理解
  • 主要功能是否已包括在规定的软件范围之内,是否都已充分说明
  • 系统的约束条件或限制条件是否符合实际
  • 开发的技术风险是什么
  • 是否考虑过软件需求的其他方案
  • 是否考虑过将来可能会提出的软件需求
  • 是否详细制定了检验标准,它们能否对系统定义是否成功进行确认
  • 软件开发计划中的估算是否受到了影响

posted on   辞梦  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示