软件工程——需求分析(生存周期),需求规格说明书,数据流图

简介: 在前面我们进行了项目的软件计划,完成了可行性研究报告,知道了要做什么的问题,而下一步,我们就需要进一步的了解项目具体要怎么做,回答必须要做什么的问题了。

在前面我们进行了项目的软件计划,完成了可行性研究报告,知道了要做什么的问题,而下一步,我们就需要进一步的了解项目具体要怎么做,回答必须要做什么的问题了。


20200602205614289.png


需求分析的地位


软件系统定义阶段的最后一个阶段,准确回答系统必须做什么的问题


结束的标志是什么?


形成需求规格说明书


需求分析的过程有哪些?


1.回答系统必须做什么,深入描述软件的功能和性能。在可行性研究报告的基础上更行更细的研究


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


3.定义软件的其他有效性需求


             20200602205741925.png    


软件需求规格说明的原则

从显示中分离功能,即描述要“做什么”而不是“怎样实现”


要能以层次化的方式对问题进行分解和不断细化(把一个抽象的问题以层次化的方式进行分解,分解成功能不同的子问题)


分解方法:横向分解,纵向分解


  20200602205830151.png            


数据流图


数据流图是什么?


是描述数据处理过程的工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能


特性是什么?


抽象性、概括性、层次性


面向数据流的分析方法


结构化分析方法。使用数据流图DFD与数据字典DD来描述


核心是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象


优缺点有哪些?


1.总体概念强,每一层都明确强调“干什么”,“需要什么”,“给出什么”


2.可以反映出数据的流向和处理过程


3.由于自顶向下分析,容易及早发现系统各部分的逻辑错误,易修改


4.容易与计算机处理相对照


5.不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到


6.如果没有计算机系统帮助的化,人工绘制太麻烦,工作量较大


数据流图的主要图形元素


              20200602205857862.png        


分层数据流图(一般划分3层)


   20200602205929613.png                


实例说明


实例:计算机教材销售系统


20200602210617318.png


检查和修改数据流图的原则


数据流图上所有图形符号只限于前述四种基本图形元素


数据流图的主图必须包括期中基本元素,缺一不可


每个加工至少有一个输入数据流和一个输出数据流


在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲自关系


规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致


用于写加工逻辑说明的工具


结构化英语


判定表


判定树


总结


软件计划和需求分析是相互依存的,软件计划为需求分析提供依据,需求分析在软件计划的基础上进行拆解分析

软件计划最后需要生成可行性研究报告,需求分析形成需求规格说明书

相关文章
|
NoSQL MongoDB 索引
带着问题看 MongoDB——collStats 和 dbStats 命令中的各种 size 怎么理解
MongoDB 底层使用了 WiredTiger 存储引擎,WT 使用的块分配策略会产生磁盘碎片,通过理解collStats 和 dbStats 命令中的各种 size,最后我们看下真正的磁盘碎片率怎么计算,是否需要做 compact。
4020 0
|
10月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
9月前
|
人工智能 自然语言处理 前端开发
利用 AI 助手进行 Web 开发通
AI编程助手如DeepSeek正改变Web开发模式,通过理解自然语言生成可运行代码,提升效率、降低门槛。开发者只需描述需求,AI即可生成框架并协助迭代优化与调试,助力专注创意与架构设计,实现人机协同高效开发。
612 0
|
数据采集 达摩院 架构师
广东珠江投资管理集团走进阿里云
广东珠江投资管理集团走进阿里云
|
人工智能 数据挖掘 BI
高效解决排班难题,从手动到自动的全流程升级
在现代企业中,排班管理是人力资源的重要组成部分,涉及合理分配工作、满足业务需求、提升员工满意度及合规性与成本控制等多个方面。传统手动排班因变量多、效率低等问题,难以满足需求。智能排班工具如板栗看板、Deputy、Zoho People、Humanity 和 Shiftboard 的出现,通过自动化和智能化手段,有效解决了这些难题,提升了排班的效率和准确性。选择合适的工具,可以显著提高HR工作的效能,实现事半功倍的效果。
1377 13
高效解决排班难题,从手动到自动的全流程升级
|
SQL 自然语言处理 数据库
DAIL-SQL: 发掘LLM的NL2SQL能力
最近,DAIL-SQL在魔搭创空间上线,并在NL2SQL任务上取得了新的SOTA。DAIL-SQL可以更好地利用LLM的NL2SQL能力,本文对其进行详细解读。
|
XML 存储 安全
软件体系结构 - 需求规格说明书
软件体系结构 - 需求规格说明书
1984 0
|
存储 Linux Windows
技术心得:如何制作ISO镜像文件
技术心得:如何制作ISO镜像文件
1847 0
|
存储 算法 Java
分布式自增ID算法---雪花算法(SnowFlake)Java实现
分布式自增ID算法---雪花算法(SnowFlake)Java实现
1871 0
|
数据采集 机器学习/深度学习 Web App开发
提升爬虫OCR识别率:解决嘈杂验证码问题
使用OCR技术提升爬虫识别嘈杂验证码的准确率,结合Python代码示例展示了如何预处理图像、使用Tesseract和代理IP来规避反爬。通过灰度化、二值化增强验证码可读性,并利用代理IP保持爬虫稳定性。
729 0

热门文章

最新文章