【软件工程】 软件需求分析

话不多说,导图献上:

&part one 【需求分析】

一. 软件需求分析的任务和步骤及要求:

1.任务:它的基本任务是:准确回答“系统必须做什么”的问题。

  • 深入描述软件的功能和性能

  • 确定软件设计的约束和软件同其他系统元素的接口细节

  • 定义软件的其他有效需求

具体任务:

(1)确定对系统的综合需求:

  • 功能需求

  • 性能需求

  • 环境需求

  • 接口需求

  • 用户界面需求

  • 以及可靠性、安全性、保密性、约束、可移植性和可维护性等方面

(2)分析系统的数据需求

(3)建立软件的逻辑模型:用数据流图、数据字典及处理算法等描述

(4)编写软件需求规格说明书(SRS)

(5)需求分析评审:目的是发现需求分析的错误和缺陷,然后修改开发计划

2.需求分析的步骤:

(1)需求获取:研究调查(问题识别)

(2)需求提炼:分析建模(分析综合)

常用的分析方法:

  • 面向数据流的结构化分析方法(SA)

  • 面向数据结构的Jackson方法

  • 结构化数据系统开发方法(DSSD)

  • 面向对象的分析方法(OOA)等

(3)需求描述:编制需求分析阶段的文档:

  • 软件需求规格说明书(SRS)

  • 数据要求说明书

  • 初步的用户手册

  • 修改、完善与确定软件开发实施计划

(4)需求验证:(需求分析评审)

3.需求分析的要求:

  • 一致性(所以需求之间不互相矛盾)

  • 完整性

  • 现实性(可实现)

  • 有效性

  • 可验证性

二.需求获取的方法:

1.常用方法:客户访谈、建立联合分析小组、问题分析与确认

2.快速建立软件原型模型来获取需求

三.需求分析的常用方法:

1.功能分解方法

2.结构化分析方法:数据流图、数据字典、结构化语言、判定树和判定表等工具

3.信息建模方法:实体联系图(实体、属性和联系构成)

常用的模型包括:数据流图、实体联系图、控制流图、状态转换图、用例图、类对象关系及其行为图等

4.面向对象方法

四.需求分析的原则:抽象——分解——细化

1.数据流图必须能表达系统的功能域和信息域(信息域的三个属性:信息流(数据流)、数据内容、信息结构)

2.最顶向下逐层分解

3.给出系统的逻辑视图和物理视图

五.需求分析的评审:

  • 一致性

  • 完整性

  • 现实性

  • 有效性

六.需求分析图形工具:

1.数据流图

2.数据字典

3.层次方框图

4.Warnier(维纳)图

5.IPO图

另外:最常用的动态分析方法:

  • 状态迁移图:描述系统

  • 时序图

  • Petri图

 

&part two 【结构化分析方法】

结构化分析方法:(自顶向下,逐步分解)

1.是面向数据流进行需求分析的方法

特性:

  • 支持数据域分析的机制

  • 功能表示的方法

  • 接口定义

  • 问题分解的机制以及对抽象的知识

  • 逻辑视图和物理视图

  • 系统的抽象模型

2.结构化分析方法适合于数据处理类型软件的需求分析

有数据流图(DFD),数据字典,结构化语言,判定表和判定树(这三个是描述加工逻辑的)等分析方法

一.数据流图(DFD):表示系统逻辑模型的一种工具。

直观的图形——描述系统数据的流动和处理过程,图中无任何具体的物理元素,主要强调数据流和处理过程。

设计数据流图时只需考虑系统必须完成的基本逻辑功能,不考虑如何实现这些功能。

除上述4中基本符号之外,有时也使用几种附加符号,星号(*)表示数据之间的关系(同时存在);加号(+)表示“或”关系,⊕号表示只能从中选一个(互斥的关系)。

数据流图是软件开发者从用户的问题中提取4种成分:依次为源点和终点,加工,数据存储以及数据流。

二.数据字典:是数据流图中所包含元素的定义集合。

数据流图只描述了系统的“分解”,系统由那几部分组成,各部分之间的联系,并没有对所有的图形元素都进行命名。

数据字典的作用就是给人提供数据描述,即对数据存储(文件)和加工(处理)等名字进行定义。

三.加工逻辑的描述:结构化语言、判定树和判定表

(一)结构化语言:可使用顺序、选择、循环三种控制结构

(二)判定表:表格形式描述加工逻辑。

如图:判定表结构:

判定表能够把在什么条件下系统应该做什么动作准确无误地表示出来,但不能描述循环的处理特性。循环处理还需要用结构化语言来描述。

(三)判定树:比表更直观,也是多个逻辑关系时用

 

本章完~ 后续更加精彩~~~

 

1、需求说明书 预期想要一个什么功能,达到什么样的效果。有的客户也说不明白具体的东西,描述不清。需要加强沟通交流,确定最终的模型。一般情况下是甲方就提供好了的。关键部分大致如下: 监控功能 监控室内温度,监控红外传感器,以阻塞或异步的方式对红外传感器进行检测,如果红外传感器探测到有不发分子非法闯入,系统自动对异常进行处理。 智能服务器 获取室内参数:动态显示室内相关信息,如温度、湿度、场景设计。 配置管理:通过智能服务器终端界面进行参数配置。 智能客户端 故障报警:系统内部产生的各种故障可以上报至操作维护终端,软件支持告警过滤,告警复位等功能,重要告警存储到FLASH,以备查阅。 性能管理: 配置管理: 软件版本管理:系统支持软件的版本查询和软件的在线升级。 系统自检:系统支持自检,故障定位到模块级。(报警信息,拷机系统软件软件的性能需求 支持3G网络 支持视频传输 2、产品详细设计文档 针对《需求说明书》及时制定设计文档,分为硬件和软件。 系统硬件框图,由开发人员,设计电路,制版。 软件功能的设计:(此部分正是开发工作的重点)可以分为各个子系统进行开发。 软件子系统设计:a. PC软件设计,主要编写Qt程序。 b.嵌入式软件(Main)设计,linux-c程序。 初步确定开发任务过程中,需要用到的知识。提前做好准备,如移植boa,mjpeg流媒体服务器,
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ariel_欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值