软件工程总结笔记——软件需求分析(三)

本文深入探讨软件需求分析的关键步骤,包括明确系统功能与非功能需求、构建逻辑模型及撰写需求规格说明书。涵盖需求获取、分析、描述及验证全过程,阐述结构化分析、面向对象分析及原型化分析等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章 软件需求分析

地位:关系到软件开发成败的关键步骤

基本任务:明确“系统必须做什么”

主要目的:分析用户需求,构建抽象到具体的逻辑模型,写软件需求规格说明书

实质工作:调查研究、分析综合、抽象思维、逻辑推理

用户需求分类:功能需求、非功能需求

3.1 需求分析的任务

主要任务:通过软件开发人员与用户的交流和讨论,准确地获取用户对系统的具体要求。
在正确理解用户需求的前提下,软件开发人员还需要将这些需求准确地以文档的形式表达出来,作为设计阶段的依据。

输出:软件需求规格说明书

需求分析的主要任务:
(1)确定系统的综合需求
①功能需求
②性能需求
③可靠性需求
④接口需求
⑤环境需求
⑥安全性需求
⑦资源需求
⑧成本和进度需求
⑨将来可能提出的要求
(2)分析系统的数据需求
(3)导出系统的逻辑模型
(4)编制需求阶段文档

3.2 需求分析的步骤

(1)通过调查研究,获取用户需求
方式:问卷调查、访谈、实地考察、建立原型、研究资料

(2)去除非本质因素,确定系统的真正需求

(3)描述需求,建立系统的逻辑模型
常用模型:数据流图,E-R图,用例图,状态转换图

(4)书写需求规格说明书,进行需求复审

3.3 需求分析方法和原则

3.3.1 软件需求分析理论
数学方法描述软件需求分析:

将应用软件定义为 S,功能域为 D₁,D₂,D₃…,则:

S = { D₁,D₂,D₃…}

每个功能域D,都存在若干个子功能P₁,P₂,P₃…,则:
D = {P₁,P₂,P₃…}

每个子功能 P 有若干个行为F₁,F₂,F₃…,则:
P = {F₁,F₂,F₃…}

3.3.2 有效性软件需求分析三步法

第一阶段:访谈式
实现手段:访谈、调查表格
输出成果:调查报告、业务流程报告

第二阶段:诱导式
实现手段:拜访(诱导)、原型演示
输出成果:调研分析报告、原型反馈报告、业务流程报告

第三阶段:确认式
实现手段:拜访(回顾、确认)
输出成果:需求分析报告

3.3.3 常用的需求分析方法

(1)结构化分析方法 (SA,Structured Analysis)

类型:面向数据流 需求分析法

基本思想:“抽象”和“分解”,采用“自顶向下、逐层分解”的分析思路,即先把软件系统视为一个抽象的系统,然后自顶向下、分支分层、逐步分解、逐步细化、逐步求精,最后落实到具体加工、基本加工、简单加工,即直到每一个子功能足够简单,能够清楚地被理解和表达为止。

(2)面向对象的分析方法
基本思想:基于面向对象的思想,以用例模型为基础。

(3)原型化分析方法
基本思想:初步获取需求后,快速的开发一个原型系统,进行模拟操作,来对需求进行分析。

3.3.4 需求分析原则

(1)能够表达和理解问题的信息域和功能域

(2)能够对问题进行分解和不断细化,建立问题的层次结构

(3)能够给出系统的逻辑表示和物理表示

3.4 需求分析的 case 工具
3.4.1 层次方框图 (主要)

树形结构,描述复杂数据的层次结构
在这里插入图片描述

3.4.2 Warnier图

树形结构表示,描述数据层次结构
在这里插入图片描述

3.4.3 IPO图

输入/处理/输出 图的简称
在这里插入图片描述

3.4.4 E-R图

实体-联系图
在这里插入图片描述

3.4.5 状态迁移图

在这里插入图片描述

3.4.6 Petri图

对系统进行需求规格说明
在这里插入图片描述

3.5 软件需求验证
3.5.1 软件需求规格说明的主要内容

① 引言
②项目概述
③具体需求

3.5.2 软件需求的验证

(1)有效性验证
(2)一致性验证
(3)完整性验证
(4)可行性验证
(5)可验证性验证
(6)可跟踪性验证
(7)可调节性验证
(8)其他方面验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值