软工导论第三章 需求分析

2024-05-02 18:12

本文主要是介绍软工导论第三章 需求分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对软件需求的深人理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。(意义)
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。(目的)

文章目录

3.1 需求分析的任务

3.1.1 确定对系统的综合要求

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

1.访谈

2.面向数据流自顶向下求精

3.简易的应用规格说明技术

4、快速建立软件原型

3.3 分析建模与规格说明

1.分析建模

2.软件需求规格说明

3.4 实体-联系图

3.6 状态转换图

1.状态

2.事件

3.7 其他图形工具

1.系统流程图

2.层次方框图

3.Warnier 图

4.IPO 图

3.8 验证软件需求


3.1 需求分析的任务

3.1.1 确定对系统的综合要求

  • 功能需求(系统必须提供的服务)
  • 性能需求(系统必须满足的定时约束或容量约束)
  • 可靠性和可用性需求
  • 出错处理需求(对环境错误应该怎样响应)
  • 接口需求(它的环境通信的格式)
  • 约束
  • 逆向需求(不应该做什么)
  • 将来可能提出的要求(不属于当前系统开发范畴)

需求分析的方法:

  • 功能分析法
  • 结构化分析法
  • 信息建模法
  • 面向对象分析法

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

分析员和用户都起着关键的、必不可少的作用。用户与分析员之间需要沟通的内容非常多,在获取和分析软件需求的过程中,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在个需求分析过程中应该采用行之有效的通信技术,集中精力做细致的工作,而且必须严格审查、验证需求分析的结果。

分析员与用户沟通进行需求分析的典型方法如下所述。

1.访谈

访谈是最早开始使用的获取用户需求的方法,也是迄今为止仍然广泛使用的需求分析方法。
访谈有两种基本形式,分别是正式的和非正式的访谈。
当需要调查大量人员的意见时,请被调查人填写调查表是十分有效的做法。
在访问用户的过程中使用情景分析技术往往非常有效。所谓情景分析,就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。系统分析员利用情景分析技术往往能够获知用户的具体需求。

2.面向数据流自顶向下求精

结构化分析方法实质上就是,面向数据流自顶向下逐步求精进行需求分析的方法。
通过可行性研究已经得出了目标系统的高层数据流图,需求分析的一个主要目标就是把数据流和数据存储定义到元素级。为了达到这个目标,通常从数据流图的输出端着手分析。

3.简易的应用规格说明技术

简易的应用规格说明技术是一种面向团队的需求收集技术。这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同的方案并指定基本需求。目前,这种技术已经成为信息系统领域使用的主流技术。

4、快速建立软件原型

快速建立软件原型是最准确、最有效、最强大的需求分析技术。所谓软件原型,就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。
构建软件原型的要点是,它应该实现用户看得见的功能,省略目标系统的“隐含功能。
软件原型应该具有的第一个特性是“快速”,第二个特性是“容易修改”。

3.3 分析建模与规格说明

1.分析建模

为了更好地理解复杂事物,人们通常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。
尽管目前有许多不同的用于需求分析的结构化分析方法,但是,多数方法都遵守下述准则。
(1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型
(2)必须定义软件应完成的功能,这条准则要求建立功能模型。
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型
(4)必须对描述目标系统信息功能和行为的模型进行分解,用层次的方式展示细节

2.软件需求规格说明

通过需求分析除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要文档。
通常用自然语言完整、准确、具体地描述对目标系统的需求,这样的规格说明书具有容易书写、容易理解的优点。
为了消除用自然语言书写的软件需求规格说明书中可能存在的不一致、歧义、含糊不完整及抽象层次混乱等问题,有些人主张用形式化方法描述用户对软件的需求。

3.4 实体-联系图

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

3.6 状态转换图

状态转换图(简称为状态图)通过描绘系统状态及引起系统状态转换的事件来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作。因此,可以用状态图建立软件系统的行为模型。

1.状态

状态图:状态、状态的转换、引起状态转换的事件

一个类的对象里面的一个枚举类型的数据成员,在整个生命周期中所有可能的状态,以及状态的转化、引起状态转换的事件(他有哪些取值?什么状态会改变这些值?那些函数可以改变这些值?)

状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。
在状态图中定义的状态主要有初态、终态和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下三个部分,分别放置状态名、状态变量和活动表。

2.事件

事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转到另一个状态的外界事件的抽象。
状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换的方向。状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头线上标出触发转的事件表达式。

3.7 其他图形工具

1.系统流程图

在进行可行性研究时,需要了解和分析现有的系统,并以概括的形式表达对现有系续的认识;在可行性研究及设计阶段,需要把设想的新系统逻辑模型转变成物理模型,因必须措绘未来物理系统的摄貌、
系统流程图是概括地描绘物理系统的传统工具,它用图形符号以黑盒子形式描绘组成系统的每个具体部件。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此,它是物理数据流图而不是程序流程图。

2.层次方框图

层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面各层矩形框代表这个数据的组成部分,最底层的各个框代表组成这个数据的实际数据元素。

3.Warnier 图

Warnier图也用树形结构描绘信息,但是它提供的描绘手段比层次方框图更丰富。用 Warnier图可以清楚地描绘信息的逻辑结构,也就是说,它可以表明一个(或一类)信息元素是重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把Warnier图转变成软件设计的工具。
Warnier图用花括号的开括号来区分数据结构的层次,在一个开括号内的所有名字都属于同一类信息,一个名字下方(或右侧)的圆括号中的数字标明了这个名字代表的信息类(或元素)在这个数据结构中出现的次数。

4.IPO 图

IPO图是输入、处理和输出图的简称,它能够方便地描绘输人数据、对数据的处理和输出数据之同的关系,可以用来描述数据流图中处理框的功能,也可以描述程序模块的功能或实现算法。

3.8 验证软件需求

需求分析阶段的工作结果是开发软件系统的重要基础,一旦对目标系统提出完整、具体的要求并写出了软件需求规格说明书之后,就必须严格验证这些需求的正确性。通常从下述4个方面进行验证。
(1)一致性。所有需求必须是一致的,任何一条需求都不能和其他需求相互矛盾。
(2)完整性。需求必须是完整的,软件需求规格说明书应该包含用户对软件产品的每一项要求。
(3)现实性。指定的需求应该是用现有的硬件技术和软件技术可以实现的
(4)有效性。需求必须是有效的,确实能解决用户所面临的问题,可以达到开发该软件的目标。

这篇关于软工导论第三章 需求分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/954871

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据