首页 > 其他分享 >软件测试--需求分析

软件测试--需求分析

时间:2024-11-07 11:30:33浏览次数:1  
标签:需求 -- 是否 用户 说明书 文档 软件 软件测试

软件需求分析

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

标签:需求,--,是否,用户,说明书,文档,软件,软件测试
From: https://www.cnblogs.com/cimengmenga/p/18531841

相关文章

  • 用例图基础知识
    什么是用例图用例图描述了一组用例、参与者以及它们之间的关系使用阶段:软件需求分析使用者:软件分析人员、软件开发人员用例模型:把系统看成黑盒子,外部,不考虑功能怎么实现,只考虑有什么功能用例图:用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用......
  • 杰卡德相似度矩阵python
    我整理的一些关于【Python】的项目学习资料(附讲解~~)和大家一起分享、学习一下: https://d.51cto.com/Hpqqk2使用Python计算杰卡德相似度矩阵在数据科学与机器学习的领域,相似度度量是一项重要的技术,广泛应用于推荐系统、聚类分析和信息检索等。杰卡德相似度(JaccardSimilarity)是用......
  • 8.2 NLP主流任务和快速实践——NLP主流任务和快速实践
    8.2NLP主流任务和快速实践——NLP主流任务和快速实践自然语言处理(naturallanguageprocessing,简称NLP)是计算机科学和人工智能领域重要的方向,自2018年BERT预训练模型被提出以来,自然语言处理领域的各项任务指标不断被刷新,甚至在一些任务上已经超过了人类的基准值,例如阅读理解......
  • “2024年:普通人如何通过AI工具实现盈利?“
    前言:随着AI技术的飞速发展,人工智能已成为创造财富的新引擎。本文将带你探索如何利用AI技术,在现代社会中开辟新的盈利渠道。从个人创业到企业转型,我们将一览AI带来的赚钱机遇,为你在智能时代的财富增长提供思路和策略。1、信息差模式现在市场上AI应用工具很多,不是所有人都......
  • 测试中的问题小结
    注意点检索区域中的名称跟列表中是否一致新增/修改页面:填写的内容是否可以保存填写的内容删除是否可以正常删除字段的提示信息是否正确列表中的序号一般左对齐多个角度进行测试不同的角色不同的身份联动显示的问题先看菜单中有哪些按钮室友配置的——......
  • AI绘画本地版ComfyUI终于来了!(一键整合包,免安装更方便)附各种工作流及模型文件1000张工
    前言:comfyUI自从面世以来,就以一种潜力股的姿态快速流行了起来,越来越多的小伙伴开始使用comfyUI。也许你一开始会被comfyUI密密麻麻的“线路”吓到,但其实comfyUI也没那么复杂,并且好处多多。今天给大家分享一下AI绘画进阶工具ComfyUI,作为StableDiffusionWebUI的进阶版工......
  • Java流程控制-顺序结构与选择结构
    顺序结构1.Java的基本结构就是顺序结构,除非特别明指,否则就按顺序一句一句执行。2.顺序结构是最简单的算法结构。3.语句与语句之间,框与框之间是按上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。选择结构if单选择结构......
  • ComfyUI操作指南新鲜出炉!一篇文章教你搞定ComfyUI工作流搭建!
    前言ComfyUI是一款强大而灵活的图形界面,专为AI艺术创作而设计,它集成了众多先进算法和工具,让用户能够轻松探索创意的无限可能。本指南旨在为初学者和专业人士提供一站式学习资源,详细解析ComfyUI的工作流程和操作技巧。通过掌握ComfyUI,你将能够高效地生成令人惊叹的艺术作品,......
  • 应届小白从0学习CANoe(3)
    第三章CANoe的开发环境3.1CANoe的主界面在CANoe下载完成之后用户需要选择:开始-所有程序-vectorCANoe11.0(我是用的是CANoe16PS4)-即可以启动CANoe单击左上角file然后选择new建立新的项目,在其中选择CAN500k单通道建立工程双击进行确认3.2CANoe选项卡和功能区......
  • ubuntu 系统安装 node 及 nvm node 版本管理工具
    ubuntu系统安装node及nvmnode版本管理工具 转载至https://www.cnblogs.com/flying--pig/p/17492342.html1.gitclone远程镜像1gitclonehttps://gitee.com/mirrors/nvm2.安装nvm 1bashinstall.sh3.刷......