软件工程--需求分析

article/2025/3/13 15:39:09

软件工程–需求分析

  • 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。
  • 需求分析的任务还不是确定系统怎么样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
  • 需求分析阶段结束之前系统分析员要写出软件需求规格说明书,以书面形式准确地描述软件需求

需求分析的任务

  1. 确定对系统的综合要求。
    • 功能需求
    • 性能需求
    • 可靠性和可用性需求
    • 出错处理需求
    • 接口需求
    • 约束
    • 逆向需求
    • 将来可能提出的需求。
  2. 分析系统的数据要求。(建立数据模型)
  3. 导出系统的逻辑模型
    • (即数据模型[E-R图]+功能模型[数据流图]+行为模型[状态转换图])
    • (数据流图+数据字典+E-R图+状态转换图)
  4. 修正系统开发计划。

获取用户需求的方法

系统分析员和用户沟通进行需求分析的典型方法有:

  1. 访谈。
    • 正式的访谈。(分析员事先准备好具体问题)
    • 非正式的访谈。(自由提问)
  2. 面向数据流自顶向下求精。
    • 通过可行性研究已经得出了目标系统的高层数据流图,需求分析的一个主要目标就是把数据流和数据存储定义到元素级。
  3. 简易的应用规格说明技术。
    • 简易的应用规格说明技术是一种面向团队的需求收集技术。这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同的方案并指定基本需求。
  4. 快速建立软件原型。
    • 快速建立软件原型是最准确、最有效、最强大的需求分析技术。所谓软件原型,就是快速建立起来的旨在演示目标系统主要功能的可行性的程序。

分析建模和规格说明

  1. 分析建模。
    • 为了更好地理解复杂事物,人们通常采用建立事物模型的方法。
  2. 软件需求规格说明
    • 通过需求分析,除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要文档。
    • 通常用自然语言完整、准确、具体地描述对目标系统的需求,这样的规格说明书具有容易书写、容易理解的优点

实体联系图(E-R图)

  • 为了把用户的数据要求清楚,准确地描述出来,系统分析员通常建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,它描述了从用户角度看到的数据。
  • 通常,使用实体-联系图来建立数据模型。可以把实体-联系图简称为ER图,相应地可以把用ER图描绘的数据模型称为ER模型。
  • ER图中包含了实体(即数据对象)、关系和属性三种基本成分。通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。

建立E-R图的步骤:

  1. 确定实体类型
  2. 确定联系类型
  3. 确定实体属性和联系类型的属性。

数据规范化

软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为了减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化

通常用"范式"定义消除数据冗余的程度。1NF数据冗余程度最大,5NF数据冗余程度最小。从实用角度来看,在大多数场合选用3NF比较恰当。

  • 1NF: 要求属性值是原子值,不可再分。
  • 2NF:消除非主属性对码的部分函数依赖。
  • 3NF:消除非主属性对码的传递函数依赖。
  • BCNF:消除主属性对码的部分函数依赖和传递函数依赖。

状态转换图

状态转换图(简称为 状态图) 通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为,此外,状态图还指明了作为特定事件的结果系统将做哪些动作(如:处理数据)。因此状态图属于软件系统的行为模型。
在这里插入图片描述

软件的行为模型

  • 状态: 被观察到的系统行为模式,一个状态代表系统的一种行为模型,状态规定了系统对事件的响应方式。响应可以是一个自身状态的变化,也可以是做动作,也可以是既改变状态又做动作。

状态图中定义的状态有三种, 初态只能有1个,终态则可以有0个到多个。

如下图所示:
在这里插入图片描述

  • 事件: 是在某个特定时刻发生的事情,是对引起状态转换的外界事件抽象
    事件就是引起系统做动作或转换状态的控制信息。
    在这里插入图片描述
  • 行为: 进入某状态所作动作。
    - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEYeHIRr-1631975651493)(C:\Users\张盛滨\AppData\Roaming\Typora\typora-user-images\image-20210918222659148.png)]

状态图中使用的主要符号

在这里插入图片描述
例题:

办公室复印机的工作过程大致如下:

​ 未接收到复印命令时处于闲置状态,一旦接收到复印命令,则进入复印状态,完成一个复印命令规定的工作后,又回到闲置状态,等待下一个复印命令;如果执行复印命令时,发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令,如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后,回到闲置状态。


状态转换图描绘复印机的行为
在这里插入图片描述

其它图形工具

描述复杂的事物,图形远比文字叙述优越得多。

层次方框图

层次方框图是树形结构的一系列多层次的矩形框,描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,他代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成,这个数据的实际数据元素(不能再分割的元素)。
在这里插入图片描述
随着结构的精细化,层次方框图对数据结构也描绘的越来越详细,这种模式非常适合于需求分析阶段的需要,系统分析员从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定数据结构的全部细节时为止。

Warnier图

在这里插入图片描述
在这里插入图片描述
图中在一个大括号中的所有名字都属于同一类信息;图中异或符号的上,下方的两个名字所代表的数据只能出现一个;在一个名字右边的圆括号中的数字内容代表这个名字代表的信息类重复出现的次数.

IPO图

  • IPO图是输入,处理,输出图的简称,能够方便地描绘输入数据,对数据的处理和输出数据之间的关系。
  • 任何一个计算机系统的基本功能都是把输入数据转变成输出信息,算法定义了转变的规则。而IPO图是描述算法的有效工具。在这里插入图片描述改进的IPO图:在这里插入图片描述

验证软件需求

为了提高软件质量,确保软件开发成功,降低软件的开发成本,一旦对目标系统提出一组要求之后,必须严格验证需求的正确性。

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

  • 需求的一致性。(需求之间不能产生矛盾)
  • 需求的完整性。(需求必须是完整阐述的)
  • 需求的现实性。(需求是可以实现的)
  • 需求的有效性。(需求是正确有效能解决问题的)

The End!!创作不易,欢迎点赞/评论!!欢迎关注个人公众号

在这里插入图片描述


http://chatgpt.dhexx.cn/article/IJYEq6YH.shtml

相关文章

linux系统监控工具——Conky

实验简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数,而且可自由定制,但对于新手来说可能会比较难于上手。 Conky是一种自由软件,用于X视窗系统的系统监视,可以在…

manjaro美化之conky 系统监控

​​​​​​​ sudo pacman -S conky 下载字体 sudo pacman -S JetBrainsMono nano ~/.conkyrc 复制粘贴下面内容ctrlx y enter 然后启动conky onky.config { -- CONK…

Linux美化 : conky

conky 是Linux桌面美化小工具 conky 也是轻量级的系统监视器 自定义性极强,请发挥想象! 从github上下载了配置,发现不能用 经检测 发现curl访问网站超时,因此对其进行简单修改 配置如下 先安装 sudo apt install curl fortune cowsay -y.conkyrc -- vim: ts=4 sw=4 no…

KALI美化-设置CONKY开机启动

简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数 https://github.com/brndnmtthws/conky/ 详细配置文档:http://conky.sourceforge.net/docs.html 简洁的用户界面; 高度可配置; 它既可使用内置的部件…

Linux安装使用Conky

安装conky sudo yum install conky安装sensors sudo yum install lm-sensors设置开机自启 在GNOME Tweaks中将conky加入开机自启 复制文件 sudo cp /etc/conky/conky.conf ~/.conkyrc设置配置文件 sudo vim ~/.conkyrc配置文件内容 conky.config {own_window_argb_visu…

linux如何卸载conky,Linux Deepin 15.10.2 下折腾 简单自制的 Conky Conky-manager

前言 Conky是Linux下的桌面美化工具,可以把一些系统信息,以各种酷炫的形式,显示到你的桌面上。很久以前在Ubunut折腾过,最近把工作开发环境切换到了Deepin 15.10.2,打算再从零折腾一次Conky 一、安装 由于新版Deepin商…

linux如何卸载conky,如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager

原标题:如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager 来自:https://www.linuxmi.com/ubuntu-20-04-lt-conky-conky-manager.html 这个简单的教程展示了如何在Ubuntu 20.04 LTS中安装Conky Manager(Conky系统监视器的图形前端)。 Conky是…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们 Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&am…

Linux(Ubuntu系统)-- Conky配置文件记录

Conky文件配置 不禁觉得这匹狼配上conky有点小帅,特此记录一下。。。 Conky配置文件: alignment top_right #设置屏幕位置 background yes #是否嵌入桌面 draw_borders no #是否绘制窗口边框 border_width 1 #窗口边框宽度cpu_avg_samples 2 #defaul…

conky 1.10配置和开机启动

不多说,先上图。 大家把目光放到右边就行了。 1、安装conky debian或ubuntu用户直接apt-get install conky-all就行了。 或者也可以直接从源码编译安装,https://github.com/brndnmtthws/conky,目前最新版是1.10.0。 安装完成后可以试着从终…

Conky--linux自定义桌面监控

Conky可以对linux硬件设备进行实时监控,并且显示在桌面上。 好吧说实话,就是为了装逼 ^_^! 首先,先贴图: 右边就是conky显示的,可以显示进程,内存,显卡温度等等。下载安装在github&#xf…

linux如何卸载conky,如何在Ubuntu 16.04/17.04上安装和使用Conky Manager

Conky是用于Linux,FreeBSD和OpenBSD的高度可配置的系统监视器。 它是免费的和开源的,根据GPL的条款发布。 本教程将向您展示如何在Ubuntu 16.04/17.04上安装Conky以及如何使用Conky Manager。 Conky可以在桌面上显示以下信息。 CPU负载 内存使用情况 硬盘…

kali linux conky配置文件,conky的配置文件

使用的conky配置,备查: 效果: .conkyrc: #set to yes if you want Conky to be forked in the background background yes cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font when Xft is disabled, you can pick one with program xfontsel #font 7x12 #font 6…

ubuntu美化之conky美化

​​一.安装 conky-manager 首先我们需要安装conky-manager。软件下载地址如下: https://github.com/teejee2008/conky-manager/releases 下载下来发现安装不上,因为conky- manager已经很久没有维护了,所以很多依赖已经废弃了。缺少一个re…

linux如何卸载conky,Ubuntu 14.04安装Conky配置软件Conky Manager 1.2

Conky Manager软件非常简单,只要打开选择你所需要的conky主题,就可以再桌面显示,对于单个主题下有多个部件的话还可以选择全部开启或者开启其中部分部件,还可以导入conky主题,然后再conky manager中选择,对…

conky-lua

--经过数天的查阅网上的资料(资料各种坑啊,一系列问题!),终于让他在linux-mint17 cinnamon工作了 网络上的资料问题: getting "llua_do_call: funcction conky_clock_rings execution failed: attempt…

conky安装配置

conky安装配置 安装conky sudo apt-get install conky-all修改配置 在主目录下创建’.conkyrc’ 文件内容: # set to yes if you want Conky to be forked in the background background no cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font w…

conky配置

默认配置路径:/etc/conky/conky.conf 复制 conky.conf 到 ~/.config/conky/conky.conf 修改,-- 为注释。 conky.config {alignment top_left,background false,border_width 1,default_color white,--default_outline_color white,--default_sh…

Ubuntu中使用的一个Conky配置

Ubuntu中使用的Conky配置 系统:Ubuntu 20,04(LTS) Conky conky是可以在Linux中实现桌面级系统资源监控的软件。同时由于具有较高的可配置性而成为桌面定制不可或缺的插件式软件之一。 Conky安装(apt) sudo apt install conkyConky配置 …

html设置字体样式罗马,罗马字体英文

路由器之家网今天精心准备的是《罗马字体英文》,下面是详解! word中新罗马字体如何找到 word中新罗马字体如何找到... word中新罗马字体如何找到 新罗马字体是Office Word默认自带的英文字体之一,点击工具栏中的字体,在下拉菜单中就能找到。 扩展资料 Worod优化阅读与写作 …