第3章 需求分析(上)

news2025/1/20 5:58:20

第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 联系

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

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

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

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

相关文章

二叉树的最近公共祖先LCA

一、什么是最近公共祖先 LCA为最近公共祖先(Lowest Common Ancestor)的缩写。 对于一棵有根树T的两个节点u,v,最近公共祖先LCA(T,u,v)代表一个节点x。 LCA(5,6) 2 LCA(7,12) 3 LCA(2,1)1 二、公共祖先的朴素解法 两个节点先调整到相同的深度每一次…

Qt6使用cmake创建项目

目录 创建普通项目 创建qt项目 创建具有资源文件的qt项目 在QT6中,官方推荐在新的项目中使用CMake。 在Qt Creator中使用CMake构建系统时,与往常的qmake有一些不一样,因此写一篇文章来记录一下。 创建普通项目 我们先写一个最简单的项目…

chatgpt赋能python:Python的Unicode编码介绍

Python的Unicode编码介绍 什么是Unicode Unicode是一个字符集,它定义了世界上几乎所有的字符,包括字母、数字、符号和标点。Unicode使用唯一的数字编码来表示每个字符,这使得在不同的操作系统和编程语言中展示和处理字符非常方便。在Python…

chatgpt赋能python:Python怎样完成更新?

Python怎样完成更新? Python是一种非常流行的编程语言,由于它的简单易学和广泛的应用领域,许多程序员选择使用Python编写程序。但是,随着时间的推移和技术的不停发展,Python需要不断更新以保持全球开发者的使用体验。…

ES 如何重建索引

场景: ES索引中,为了效率和存储空间,有些字段可以设定为不被索引,然后某一天又需要改成能索引,此时就需要对ES进行重建索引,操作如下 1、修改 ES 索引模板文件 cd /data/elk/logstash/es-template/ vim e…

JavaSE笔记(七)

Java反射和注解 **注意:**本章节涉及到JVM相关底层原理,难度会有一些大。 反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类所有的属性和方法,对于任意一个对象…

几十款游戏的简单分析

文章目录 一、 介绍二、 影响游戏体验的因素三、 游戏能爆火的因素1.影响游戏爆火因素的排名2.玩游戏的两种经典心理3.经典案例分析Qq农场植物大战僵尸水果忍者召唤神龙羊了个羊 4.游戏公司可借鉴的经验5.未来游戏面对的诸多挑战 四、 几十款游戏的多方面分析FC红白游戏机十二人…

chatgpt赋能python:Python中的import使用详解

Python中的import使用详解 介绍 在Python中,import是将一个模块引入到当前脚本中使用的关键字。Python中的模块是指一个包含所有定义、函数和变量等的Python文件,也可以包含其他模块,从而构成一个Python程序。在Python中,有很多…

spark相关理论

系列文章目录 ubuntu虚拟机下搭建zookeeper集群,安装jdk压缩包,搭建Hadoop集群与spark集群的搭建【上篇】_ubuntu搭建zookeeper集群 ubuntu虚拟机下搭建zookeeper集群,安装jdk压缩包,搭建Hadoop集群与spark集群的搭建【下篇】 …

Redux基本使用和实践

Redux的核心是store,store作为应用状态的容器,保存着这个页面的状态数据树。 store 但是store本质上是一个JavaScript对象,这个对象含有了dispatch以及获取页面状态数据的方法等等。 如上图所示,store提供几个方法给开发者调用&…

[论文阅读笔记75]P-Tuning v2

1. 基本信息 题目论文作者与单位来源年份P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and TasksXiao Liu等Tsinghua University清华大学2021 Citations, References 论文链接:https://arxiv.org/pdf/2110.07602.pdf…

chatgpt赋能python:Python的IDLE是什么?——初探IDLE的用途和功能

Python的IDLE是什么?——初探IDLE的用途和功能 Python的IDLE是一个Python集成开发环境(IDE),可以简单地将其视为为开发者提供编写、调试和执行代码的工具。IDLE包括一个交互式解释器,使开发更加快速和简便。它还提供了代码编辑器、调试器和其…

chatgpt赋能python:Python技巧:一行代码实现所有数据的输出

Python技巧:一行代码实现所有数据的输出 Python是一种高级动态语言,因其简单易学和灵活性而广受欢迎。Python的语法简单明了,适合初学者学习、理解和实践,同时也是专业程序员的首选开发语言之一。 在实际的编程中,有…

k8s简单部署示例

1 部署yaml文件 1.1 Deployment部署 apiVersion: apps/v1 kind: Deployment metadata:name: zscorenamespace: wangzy-plabels:app: zscore-dep spec:replicas: 1selector:matchLabels:app: zscoretemplate:metadata:labels:app: zscoreannotations:sidecar.istio.io/inject:…

[工业互联-9]:EtherCAT(以太网控制自动化技术)+TwinCAT 在生产自动化控制中的应用 、

前言 EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,…

Android 源码 AOSP版本– 下载[Ubuntu ]

Android 源码 AOSP版本– 下载[Ubuntu ] 前言配置下载源码前言 Android系统作为一个庞大的开源项目,除了一些谷歌自带服务之外,其他所有代码均以AOSP(Android Open Source Project)的形式开源。对于框架开发者来说,熟悉AOSP是必不可少的知识。即使是普通开发者,为了优化…

POSTGRES 多条件数量统计---CASE WHEN 妙用

创建表 create table tbl_user( id serial PRIMARY KEY, name varchar(256), addr varchar(256), age int, score int, fav varchar(256) ) 插入预置数据 INSERT INTO tbl_user (name, addr, age, score, fav) VALUES (aaa,aaa_addr,10, 23,aaa_fav_new), (bbb,ccc_addr,10, 23…

chatgpt赋能python:Python之妙用一行输出一个数字

Python之妙用一行输出一个数字 在日常编程中,我们常常需要输出一些数字来进行调试或测试。而在Python中,一行代码就可以轻松实现这个过程,即一行代码输出一个数字。 Python的print()函数 在Python中,print()函数是最基本的输出…

CPU lock-step资料整理

知识的价值在于分享,欢迎大家批评指正,共同进步。 目录 1 功能安全 2 技术特性 3 安全系统架构 4 TI Hercules系列 4.1 TMS570安全概念基本原理 4.1.1 1oo1D双核安全概念 4.1.2 1oo1D优势 总结 参考文献 1 功能安全 根据ISO26262-2018&#xff0…

踩坑集锦之Mybaits Invalid bound statement异常

踩坑集锦之Mybaits Invalid bound statement 引言多数据源场景下Mybaits如何进行配置包扫描过程问题一: 自动注入带来的同类型bean实例冲突问题二: 扫描器扫描路径重叠,导致优先级低的扫描器扫描不到对应包路径下的mapper接口补充说明1: MapperScannerConfigurer补充…