软件工程:数据流图和结构图怎么画?
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站。
文章目录
- Step 1:根据软件的功能描述,绘制数据流图:
- Step 2:根据数据流图,分级绘制结构图:
- •边界划分:
- •第一级分解:
- •第二级分解:
- •精化减少耦合:
- •添加数据/控制信号流向:
Step 1:根据软件的功能描述,绘制数据流图:
问题表述:
假设的仪表板将完成下述功能:(1) 通过模数转换
实现传感器
和微处理机
接口;(2) 在发光二极管面板
上显示数据
;(3) 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;(4) 指示加速
或减速
;(5) 超速警告
:如果车速超过55英里/小时,则发出超速警告
铃声。
首先了解数据流图的4种基本符号:
然后,对从问题描述中提取数据流图的4种成分:
数据流图的成分 | 映射—>方法或实体 |
---|---|
数据处理: | 读取(轮胎)旋转信号,读取(尾气)燃料流信号,计算gph,计算燃料消耗mpg,计算里程,产生mpg显示,产生mpg显示,产生里程显示,发出超速警告,产生加速/减速显示等等。 |
数据源点: | 传感器 |
数据终点: | 发光二极管面板 |
数据存储文件: | 无 |
数据流: | (轮胎)旋转信号,(尾气)燃料流信号,每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等。 |
难点在于我们是否在进行问题的描述之后对问题的流程有详细的理解,我们很难通过单一的问题描述去把所有的数据流图的成分去映射完整,从而对问题的描述到实际的系统流程设计发生概念性的理解错误。
总而言之,对问题的描述部分的理解决定了一个系统的框架走向,因此,对问题的描述进行深入的咨询专业人士在实际的工业生产中也是必不可少的。
是的,我们只考虑系统的设计部分,省略了数据源点和数据终点
。术业有专攻,在实际的数据流图的绘制中加入了一些我们外行人根本看不懂的东西(“读和校验”,“收集和求平均”等等),学习的是思想,切勿纠结于细枝末节,我们继续,看完我们会有所收获的。
伏尔泰说过,常识并不是大家都知道的,常见的东西。
Step 2:根据数据流图,分级绘制结构图:
•边界划分:
接下来,确定输入流和输出流的边界,从而孤立出变换中心:
•第一级分解:
软件结构代表对控制的自顶向下的分配,所谓分解就是分配控制的过程(说白了,就是把系统分成3个部分,输入部分,转换处理部分,输出部分
):
•第二级分解:
把数据流图中的每个处理映射成软件结构中一个适当的模块(说白了,就是针对已经划分好的输入部分,转换处理部分,输出部分进行内部的结构划分
):
以“接收传感器信号”部分为例,进行结构图的绘制,仔细观察结构图的层次关系,不就是把数据流图中接收传感器信号的部分按箭头顺序拎起来
了嘛??是这样吧<—doge.gif)
“数据转换控制”的结构图如下:
“驱动仪表板”的结构图如下:
•精化减少耦合:
软件结构进一步精化,对初步分割得到的模块进行再分解或合并。
具体到数字仪表板的例子,可做如下某些可能的修改:(1)输入结构中的模块“转换成rpm”和“收集sps”可以合并
;(2)模块“确定加速/减速”可以放在模块“计算mph”下面
,以减少耦合;(3)模块“加速/减速显示”可以相应地放在模块“显示mph”的下面
。
•添加数据/控制信号流向:
结构图中一个方框代表一个模块,框内注明模块的名字或主要功能。
方框之间的箭头(或直线)表示模块的调用关系。位于上方的方框代表的模块调用下方的模块。(尾部是空心圆表示传递的是数据。实心圆表示传递的是控制信息。
)
最后,希望这篇博文对你有实际的帮助和加深理解。软件工程,画图并不难,难的是如何将问题描述转化为项目功能的具体需求,难的是结构的设计和统筹。
都看到这里了,确定不点赞
,收藏
再走嘛==(ಥ_ಥ)== !
软件工程:数据流图和结构图怎么画?相关推荐
- 软件工程白盒测试的流图怎么画_软件工程数据流图的画法
分层数据流图的设计方法 第一步,画子系统的输入输出 把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图.这张图称为顶层图. 第 ...
- 软件工程——数据流图
数据流图的画法 数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能.输入.输出 ...
- 企业组织结构图怎么画?分享简单的结构图绘制方法
企业组织结构图怎么画?作为一名办公人员,学会绘制企业组织结构图是很有必要的一件事,组织结构图可以让我们很快的了解行政结构与人事体系.很多的朋友或许对这些结构图有一定的了解,但是想要做的整齐美观是比较耗 ...
- 软件工程数据流图的画法
摘自百度经验 系统流程图是在系统分析员在做系统构架阶段,或者说,在接触实际系统时,对未来构建的信息处理系统的一种描述.这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输 ...
- 1.软件工程—数据流图
1.数据流图简介 1.1 数据流图概念 数据流图(Data Flow Diagram,DFD)是从数据传递和加工的角度,以图形的方式来描述逻辑输入经过系统加工处理后转化为逻辑输出的结构化系统分析工具 ...
- python绘制神经网络结构图,如何画神经网络结构图
如何画出神经网络的结构图 谷歌人工智能写作项目:神经网络伪原创 如何用visio画卷积神经网络图.图形类似下图所示 文案狗. 大概试了一下用visio绘制这个图,除了最左面的变形图片外其余基本可以实现 ...
- 软件工程数据流图作业
有关数据流图的层次和加工编号转载于蜗牛____的这篇文章 数据流图的各个层次 顶层图:只有代表整个软件系统的111个加工,描述了软件系统与外界(源或宿)之间的数据流 0层图:顶层图中的加工经分解后的图 ...
- 软件工程——数据流图练习
银行储蓄系统 需求描述: 为方便储户,某银行拟开发计算机储蓄系统,储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名.住址.存款类型.存款日期.利率等信息,并印出存款单给储户:如 ...
- 软件工程-数据流图+ER图绘制听课笔记
视频链接:2-软件工程-数据流图+ER图绘制_哔哩哔哩_bilibili 目录 基础知识 例子 解答 基础知识 例子 解答 图1 顶层图 图2 0层图 图3 E-R图
- 软件工程白盒测试的流图怎么画_【2017年整理】软件工程白盒测试.doc
[2017年整理]软件工程白盒测试 白盒测试 白盒测试以程序的结构为依据,所有又称为结构测试.早期的白盒测试把注意力放在流程图的各个判定框,使用不同的逻辑覆盖标准来表达对程序进行测试的详尽程度.随着测 ...
最新文章
- php esi技术,Php环境搭建 – 巴黎高等计算机学院(ESI-SUPINFO)中国校区技术博客...
- 170318 11:44:26 [ERROR] Can't start server: can't create PID file: No space left on device
- 在react-router中进行代码拆分
- 从烤箱到蒸烤箱、到蒸烤箱集成灶,功能做加法,价格做乘法
- jQuery中map方法
- ArcGis Desktop10 注册机授权方法与安装步骤
- 集水井盖板图集07fj02_【干货】住宅通病详细图集(图文详解)
- PHP 中 empty is_null 和 isset 的测试
- mysql有没有mssql执行计划_MSSQL优化执行计划
- 国货如此畸形,改革30年无国际品牌
- 贫血模式or领域模式(转载)
- 猴子排序的期望复杂度推导(雾)
- ZwQuerySystemInformation 枚举驱动模块
- 持续技术开放 | SOFAStack 启用独立 Group
- linux系统安装红蜘蛛,在linux Deepin深度系统安装多媒体电子教室Veyon
- 区块链之门 | Reach on Conflux 2021 黑客松开赛
- [硬件选型] 工业相机之参数和选型
- oracle三大连接方式,oracle的三种连接方式
- kettle 6.1.0.1 mysql_kettle连接数据库报错:Error occured while trying to connect
- 小程序常用的十个入口
热门文章
- 【短时幅度谱】短时幅度谱估计在语音增强方面的MATLAB仿真
- Mac M1 + Vmware Fusion 安装 Windows 11 arm版及相关问题解决
- mysql front连接_如何成功用MySQL-Front连接MySQL?
- 机房服务器配置方案文件,机房搬迁实施方案模版
- xposed+justTrustme使用与分析
- 图机器学习——1.1 传统方法:基于节点
- GO版本家庭记账系统
- 【多任务学习】多任务学习中的任务选择机制(Task Selection Policies for Multitask Learning)
- 在线文本加密解密工具
- e480Linux无法发现无线网卡,ThinkPad无线不能用无法连接无线网络的具体排查流程图解...