第3章 需求分析

news2024/12/25 1:32:26

第3章 需求分析

在这里插入图片描述

3.1 需求分析任务

3.1.1 确定对系统的综合要求

1. 功能需求

通过需求分析应该划分出必须完成的所有功能。

2. 性能需求

性能需求指定系统必须满足的定时约束或容量约束

3. 可靠性和可用性需求

可靠性需求定量地指定系统的可靠性
可用性与可靠性密切相关,它量化了用户可以使用系统的程度。

4. 出错处理需求

出错处理需求说明系统对环境错误应该怎样响应
系统本身的错误的检测,主要在系统关键部分设置,而且应该尽可能的少

5. 接口需求

用户接口、硬件接口、软件接口、通信接口

6. 约束

设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。
需求阶段的设计约束为用户或环境强加给项目的限制条件

7. 逆序需求

逆向需求说明系统不应该做什么。

8. 将来可能提出的要求

3.1.2分析系统的数据要求

数据结构:表示数据元素之间的逻辑关系。数据字典定义数据。
在这里插入图片描述

3.1.3导出系统的逻辑模型

在这里插入图片描述

3.1.4 修正系统开发计划

根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

3.2与用户沟通获取需求的方法

3.2.1 访谈

正式访谈:系统分析员提出一些事先准备好的具体问题
非正式访谈:分析员提出一些用户可以自由回答的开放性问题,以鼓励被访问
人员说出自己的想法。

3.2.2 面向数据流自顶向下求精

在这里插入图片描述

3.2.3 简易的应用规格说明技术

在这里插入图片描述

3.2.4 快速建立软件原型

快速建立软件原型是最准确、最有效、最强大的需求分析技术。
在这里插入图片描述
在这里插入图片描述

3.3 分析建模与规格说明

3.3.1 分析建模

结构化分析实质上是一种创建模型的活动
在这里插入图片描述
在这里插入图片描述

3.3.2 软件需求规格说明书

需求规格说明书通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。

3.4 实体-联系图

概念性的数据模型(信息模型)
①概念性的数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。
②它描述了从用户角度看到的数据,它反映了用户的实现环境,而且与在软件系统中的实现方法无关。
③数据模型中包含3种相互关联的信息:数据对象、数据对象的属性、数据对象的关系

3.4.1 数据对象

数据对象彼此之间是有联系的
在这里插入图片描述

3.4.2 属性

属性定义了数据对象的性质。必须把一个或多个属性定义为“标识符”。用标识符属性可以作为关键字。
在这里插入图片描述

3.4.3 联系

数据对象彼此之间相互连接的方式称为联系,也称为关系。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.5 数据规范化

数据结构规范化:是为了减少软件系统冗余信息,避免出现插入异常或删除异常,简化修改数据的过程。
通常用范式定义消除数据冗余的程度。第一范式数据冗余程度最大,第五范式(5NF)数据冗余程度最小。
从实用角度看,在大多数场合选用第三范式都比较恰当
在这里插入图片描述

3.6 状态转换图

状态转换图(简称状态图),通过描绘系统的状态及引起系统状态转换的事件,来描述系统的行为。

3.6.1 状态

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式
在这里插入图片描述

3.6.2 事件

事件是某个特定时刻发生的事情,它是引起系统做动作或状态转换的控制信息
在这里插入图片描述

3.6.3 符号

行为指对象达到某种状态时所做的一系列处理操作。
在这里插入图片描述

3.6.4 例子

在这里插入图片描述

3.7 其他图形工具

3.7.1 层次方框图

层次方框图用树形结构的一系列多层次的矩形框描绘数据层次结构
在这里插入图片描述

3.7.2 Warnier图

Warnier图也用树形结构描绘信息,可以表明信息的逻辑组织
在这里插入图片描述

3.7.3 IPO图

IPO图是输入处理/输出图。能方便的描绘输入数据,对数据的处理和输出数据间的关系。
在这里插入图片描述

3.8 验证软件需求

3.8.1 从哪些方面验证软件需的正确性

为了提高软件产品质量,确保软件开发成功,降低开发成本,必须严格验证目标系统的正确性。
在这里插入图片描述

3.8.2 验证软件需求的方法

① 验证需求的一致性
② 验证需求的现实性
③ 验证需求的完整性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636034.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

北京某金融公司面试题,精选10道讲解!

你好,我是田哥 面试造火箭工作拧螺丝,最近一位朋友在面试中被问到各种各样的分布式微服务的面试题,也回答上来了。可是,等正式入职后,发现这家公司居然全部是使用单体项目,完全没有分布式微服务的东东&…

个人PC机使用网线与树莓派进行连接

目录 0. 前言1. 查看网络状况2. 设置网络共享3. 获取树莓派的IP 0. 前言 你需要准备一个树莓派4B,自己的电脑,以及一根超五类网线 操作系统:Windows10 专业版、Raspbian OS 开发环境:树莓派4B 1. 查看网络状况 windows控制台…

今年程序员去大厂面试的必备条件:985或211计算机专业,上家公司是大厂,毕业3年且30岁以下,之前产品qps在一万以上!...

什么样的程序员能拿到大厂的面试入场券? 一位网友总结,今年程序员想约到一二三线公司面试需要同时满足以下条件,缺一不可: 1.985或者211硕士,计算机专业; 2.上家公司是大厂; 3.毕业3年以上且年龄…

chatgpt赋能python:Python中的变量定义

Python中的变量定义 在Python中,变量是一种用来存储数据的容器。它们允许程序员为数据分配一个名称,并将该名称与特定的值关联起来。Python语言的灵活性和易用性使得变量定义变得极为简单。 定义变量的基本语法 在Python中,定义变量的语法…

pikachu靶场漏洞演练(更新中)

文章目录 一、XSS(Cross-Site Scripting)1.XSS概述2.漏洞危害3.常用payloadb.反射型XSS(post)c.存储型XSSd.DOM型XSSe.DOM型XSS-X 一、XSS(Cross-Site Scripting) 1.XSS概述 XSS中文叫做跨站脚本攻击(Cross-site scripting)&…

BitSet—位图

BitSet 🔎概念🔎位图的模拟实现set()get()reSet()getUsedSize()完整代码 🔎利用位图进行排序🔎结尾 🔎概念 位图 用某一位表示存储的状态 位图的适用场景 海量数据数据为自然数(≥ 0)数据不重复 举个栗子&#x1f3…

内网隧道代理技术(二)之LCX端口转发

LCX端口转发 LCX介绍 LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。LCX有端口映射和端口转发两大功能,例如当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使…

计算两个向量的外积numpy.outer()

【小白从小学Python、C、Java】 【等级考试500强双证书考研】 【Python-数据分析】 计算两个向量的外积 numpy.outer() 以下说法正确的是: import numpy as np a np.array([1,2]) print("【显示】a ",a) b np.array([3,4,5]) print("【显示】b &q…

SpringBoot进阶-SpringBoot如何实现配置文件脱敏

目录 参考一、概述二、实现1、引入pom2、在配置文件中添加密钥3、生成加密之后的数据4、将加密之后的数据添加到配置文件中 三、踩坑Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cr…

python系列27:jupyter转web app的工具Mercury

1. 简介 官网:https://runmercury.com/ Mercury可以将 Jupyter Notebook 呈现为 Web 应用程序。类似的package还有streamlit和voila 使用import mercury as mr进行安装。Mercury的页面分为左边的输入部分,和右边的输出部分,下面是极简例子&a…

C++函数重载学习

C 允许多个函数拥有相同的名字&#xff0c;只要它们的参数列表不同就可以&#xff0c;这就是函数的重载&#xff08;Function Overloading&#xff09;。 一个基本的例子&#xff1b; #include<iostream> using namespace std;void print(int i) {cout<<"a …

远程控制之原理和实践

按理来说&#xff0c;本人不该发表此类专业文章&#xff0c;鄙人零星碎片化的开发经历&#xff0c;让本人斗胆向诸位网友&#xff0c;在远控方面做一点演示说明&#xff0c;谈论一点自己的认识。 程序工程代码地址&#xff1a;点击此处下载。 程序分为两个部分&#xff0c;控…

OpenCV 项目开发实战--对图像中的斑点进行检测(Python、C++代码实现)

什么是斑点? Blob 是图像中一组连接的像素,它们共享一些共同的属性(例如,灰度值)。在上图中,暗连接区域是斑点,斑点检测旨在识别和标记这些区域。 文末附相关测试代码的下载链接 SimpleBlobDetector 示例 OpenCV 提供了一种基于不同特征检测和过滤斑点的便捷方法。让…

计算机组成原理笔记(王道考研)(持续更新)

文章目录 前言概论计算机的发展计算机系统计算机硬件组成各个硬件的工作原理计算机系统的层次结构计算机系统结构、组成、实现 计算机性能指标储存器CPU整体指标Amdahl定律与加速比 前言 本文是对王道计算机考研《计算机组成原理》课程的总结&#xff0c;主讲咸鱼学长讲的确实…

那些曾经考过的turtle绘图题(1~5)

【编程实现绘图 -1】 使用使用turtle库的函数,绘制三个彩色的圆,圆的颜色按顺序如图,圆的半径从里至外分别是20,50, 100,效果如图所示 # 样例代码 from turtle import * # 导入turtle库 list_r = [20, 50, 100] # 定义半径列表 list_color = ["red", "…

chatgpt赋能python:在画布中间画图的Python技巧

在画布中间画图的Python技巧 在Python中&#xff0c;绘图是数据可视化和图形表示的一种重要方式。然而&#xff0c;在绘制图表时&#xff0c;我们需要让图表的中心点位于画布的正中心&#xff0c;而不是依靠手动计算像素值来实现。这不仅让图表更易读&#xff0c;还提高了可视…

chatgpt赋能python:Python中如何处理多个输入

Python中如何处理多个输入 在编写Python程序时&#xff0c;我们经常需要从用户那里获取多个输入来执行某些操作。本文将介绍Python中的各种方法来处理多个输入。 从终端获取多个输入 Python中最简单的方式是从终端获取多个输入。下面是一个基本的例子&#xff1a; input_st…

chatgpt赋能python:Python中的函数

Python中的函数 Python是一种高级语言&#xff0c;可用于各种应用程序&#xff0c;从Web开发到科学计算。Python中的函数是重要的编程概念之一&#xff0c;它允许开发人员将一段代码重复使用&#xff0c;并可以按照需要调用它们。 函数是什么&#xff1f; 函数是一种拥有参数…

直动式插装减压阀DPR-100-N-S-24

参数规格 操作压力:流动情况: 内部泄漏: 弹性范围: 工作温度: 推荐过滤等级: 流体介质: 阀腔/阀腔工具:阅体材质: 3000 PSI (207 Bar)见[压降与流量关系图].5英寸/min(82cc/min)在最大压力3000PSI(207Bar)下50PSI至200PSI(3至14 Bar)预设值:150 PSI(10 Bar) 100 PSI 至…

打包jar包或war包

idea下springboot打包成jar包和war包&#xff0c;并且在外部tomcat下运行访问 jar包 这里设置pom.xml文件将工程打成jar包 使用maven的插件打包&#xff0c;打包后的jar包在项目的target目录下 此时打包出来是有默认的名称的jar包。然后在命令行下 运行起这个jar包。当然&…