软件工程:数据流图和结构图怎么画?

软件工程:数据流图和结构图怎么画?文章目录Step1:根据软件的功能描述,绘制数据流图:Step2:根据数据流图,分级绘制结构图:•边界划分:•第一级分解:•第二级分解:•精化减少耦合:Step1:根据软件的功能描述,绘制数据流图:问题表述:假设的仪表板将完成下述功能:(1)通过模数转换实现传感器和微处理机接口;(2)在发光二极管面板上显示数据;(3)指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;(4)指示加速或减速;(5)超速警告:如果车速超过55英里/小时,则发出超速警告铃声。首先了

大家好,又见面了,我是你们的朋友全栈君。

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ´▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站

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”的下面

在这里插入图片描述

•添加数据/控制信号流向:

结构图中一个方框代表一个模块,框内注明模块的名字或主要功能。

方框之间的箭头(或直线)表示模块的调用关系。位于上方的方框代表的模块调用下方的模块。(尾部是空心圆表示传递的是数据。实心圆表示传递的是控制信息。)
在这里插入图片描述

最后,希望这篇博文对你有实际的帮助和加深理解。软件工程,画图并不难,难的是如何将问题描述转化为项目功能的具体需求,难的是结构的设计和统筹

都看到这里了,确定不点赞收藏再走嘛==(ಥ_ಥ)== !

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《工具癖》从Github下载开源电子书

    《工具癖》从Github下载开源电子书

    2021年5月27日
    129
  • 智慧工地 安全帽识别系统

    智慧工地 安全帽识别系统随着时代的发展科技也越来越发达,近些年来建筑行业在我国怦然兴起,关于建筑方面的隐患也日益增加,为此北京富维图像公司研发了一款智慧工地安全帽识别这项技术,可以有效的避免一些事故的发生。智慧工地安全帽识别这项技术它能有效识别作业过程中突发的危险以及预防危险的到临,以下是关于安全帽识别系统的详细介绍。第一北京富维图像公司对智慧工地安全帽识别系统采用人脸识别功能,可360°识别工作人员是否佩戴安全帽,可以通过前段摄像机进…

    2022年5月12日
    56
  • 各种数据库默认端口总结

    各种数据库默认端口总结关系型数据库一 :Oracle驱动:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:@&lt;machine_name&gt;&lt;:port&gt;:dbname注:machine_name:数据库所在的机器的名称,如果是本机则是127.0.0.1或者是localhost,如果是远程连接,则是远程的IP地址;port:端口号,默…

    2022年6月13日
    35
  • python2021激活码【2021.10最新】

    (python2021激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsa…

    2022年3月27日
    121
  • anaconda和pycharm安装教程_超详细mac新手教程

    anaconda和pycharm安装教程_超详细mac新手教程本文简要概述Anaconda,详细记录Anaconda和Pycharm的安装过程,跟着做下来一定能成功。

    2022年8月28日
    3
  • eclipse下载安装步骤(eclipse下载安装步骤)

    Eclipse是JavaWeb开发最常用的工具,下面详细介绍一下如何下载安装最新版Eclipse。一、Eclipse下载1.输入网址:https://www.eclipse.org/downloads/我们会到官网中找到如下的下载按钮,但默认下载的是Windows操作系统的64位,我们点击DownloadPackages选择其他类型的下载包2.选择EclipseIDEf…

    2022年4月16日
    142

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号