APP下载

浅析软件工程中的数据流图的画法

2020-10-30周立君

关键词:软件工程

周立君

摘要:现今社会,软件工程作为信息产业的一个支柱,已逐渐为人们所熟悉和广泛使用。数据流图作为软件工程不可缺少的辅助工具,有着不可替代的作用。通过数据流图,软件设计者可以更有效地对系统进行设计,更好地捕获用户需求。用户也可以更好地了解该系统。

关键词:软件工程;数据流图;结构化分析方法

引言

软件工程作为信息产业的一个支柱,已逐渐为人们所熟悉和广泛使用。数据流图作为软件工程不可缺少的辅助工具,有着不可替代的作用。通过数据流图,软件设计者可以更有效地对系统进行设计,更好地捕获用户需求。用户也可以更好地了解该系统。

1绘制流程图应遵循的原则

1.1合理进行编号

常用数字对分层数据流程图进行编号,提出的MPALA方法可以根据信道质量灵活调整MCS和重复次数。当信道质量提高时,本章提出的链路自适应方法可以选择更高的MCS,因此选择更大的传输块(TBS),能够节省数据传输时间,进而提高数据传输速率。当信噪比继续提高且大于一3dB,因此父图拥有的子图数少于或等于父图中的加工个数。

1.2自顶向下分层展开绘制

对一个庞大而又复杂的系统,如果系统分析员一开始就注意每一个具体的逻辑功能,很可能要画出几百个甚至上千个处理逻辑。它们之间的数据流像一团乱麻似的分布在数据流程图上,同样先不管其内部,而只分析它们之间的数据联系,这样反复下去,依此类推,直至最终搞清了所有的问题为止。

1.3由左至右地绘制

绘制数据流程图,一般先从左侧开始,标出外部项。左侧的外部项,通常是系统主要的数据输入来源,然后画出由该外部项产生的数据流和相应的处理逻辑,如果需要将数据保存,则在数据流程图上加上数据存储。最后在数据流程图的右侧画出接受系统输出数据的外部项,右侧的外部项是系统数据的输出去向。

2开发大型软件和编写小型程序之间的区别

开发大型软件和编写小型程序有着本质的区别。总的来说:软件工程由编程演变而来,编程一般考虑小型程序的编写,而软件工程则需考虑大型软件系统的研制。

2.1从所需的人力看

小型程序从确定要求、编制、使用等直到修改往往是由同一个人完成的,因此只要编程者本人心理明白程序的构思就够了,而大型系统则必须由许多人(包括用户'币目负责人,分析员,程序员,资料员操作员)等组成一支开发队来协同完成,所以人与人之间必须准确地进行协商讨论。

2.2从产品使用情况看

小型产品往往是一次性的,即如果需要作较大的修改,人们通常宁可丢弃旧的程序而重新编写,但大型系统的开发耗费了大量的人力与物力,所以人们一般不会轻易将其丢弃,而总是在旧程序的基础上一改再改,希望延长它的使用期。

3软件工程的现状

3.1软件工程的发展特点

通过知网的全文检索功能,检索关键词“软件工程、发展、现状、前景”,从中选取了100篇相关文献进行了计量可视化分析,结果有关软件工程的现状以及发展前景问题的研究大体上呈现出逐年上升的趋势,这说明中国的软件工程产业的发展越来越引起人们的重视。

结合调查结果能够了解到,近些年软件工程行业表现出快速发展的态势,成为在中国最热门的产业之一,给国家以及个人的发展贡献了不小的力量。软件工程必然会成为推动将来经济发展的主要动力之一。首先,软件工程的就业前景良好,软件发展产业链提供了大量高收入有前途的就业岗位,但是目前国内高精尖应用型软件技术人才还很稀缺。其次,就业的工资待遇高,发展前景好。软件工程师一个月的收入通常超过10000元,所以说围绕着软件工程专业的一些职业是非常好的就业选择。第三,就业者的选择多,职业种类多。在计算机软件的编程、开发、测试、设计等领域会产生多个分支,软件工程不仅仅局限于编程,它还会带来多样化的就业岗位,因此,软件工程的就业选择会向着更加多元化的方向发展。

3.2计算机软件工程的知识体系-

对于知识教育系统而言,计算机软件工程技术所涉及的内容非常之多且复杂程度较高,依据由易至难能够划分成下列3个层次,首先是知识点的掌握,这是最容易掌握和最重要的一层,是学习软件工程学科的重中之重;二是知识领域划分为知识单位,如掌握一些特殊化的技巧、符号等;第三层次是最高水平的知识领域,要求有更高水平的操控熟练程度以及知识掌握程度。

4数据流程图的基本符号

数据流程图由四种基本符号组成,重复次数设置最大保证通信质量。当信噪比高于12时,由于直接方法的MCS=0,为了适应不同的信道质量、保证物联网设备和基站能正确接收数据块(即保证误块率小于10%),直接方法的误块率始终低于0.05,且比MPAIA方法的误块率低。但直接方法和本章提出的MPALA方法均能达到目标误块率10%,这表明本章提出的链路自适应方法能够根据链路状态动态调整系统参数,保证通信的可靠性。处理逻辑由一个长方形表示,处理逻辑符号由三部分组成:标识部分、功能描述部分和功能执行部分。链路自适应方法可以根据信道质量动态选择重复次数和MCS,可以选择更合适的重复次数和MCS的组合方案来适应不同信道状态。故无论信道质量是好还是差,提出的MPALA方法都能灵活的选择系统参数,使得误块率达到目标,并提高数据传输速率。为评估本章提出的MPALA方法的性能,分别测试数据包大小为500比特、1000比特和1500比特时两种方法的数据传输速率。

5发展前景

5.1模块化思维将指导软件产业的未来发展

在全球经济的一体化发展以及市场竞争日趋激烈的背景下,计算机软件企业必须要保证其自身的创新能力以及業务灵活性能够满足市场发展的要求;同时,随着Ⅱ环境变得更加复杂,以及历史遗留下来的系统问题越来越多,计算机软件公司正面临着新的挑战。模块化思维可以有效地解决这些问题,打包各种软件应用程序和软件组件,从而显著地提高企业资产的利用率和自身的能力。

5.2软件工程将朝着智能和自动化方向发展

近年来,信息化与自动化越来越成为科技发展的重要趋势,而软件产业作为最有发展前途的产业之一,受到全世界各国的高度重视。对于将来而言,高度智能化以及自动化必然是软件工程发展的目标。软件工程只有摆脱了低效率的开发方式、低质量的软件产品和低水平的拓展性能,它才可以向着“智动一体化”的方向不断创新发展。

结语

总之,作为软件开发人员,要培养软件工程的思维与方法。在项目初期的时候,有些开发人员喜欢谈论实现的细节,并且乐此不疲,或者喜欢讨论如何用灵活而简短的代码来实现一个特定的功能,而忽略了对整个系统结构的考虑。所以作为一个开发人员,尤其是一个有经验的开发人员,应该把自己从代码中解脱出来,更多的时候在我们的脑子里甚至暂时要放弃去考虑如何实现的问题,而从项目或产品的总体去考虑一个软件产品。

猜你喜欢

软件工程
基于课程群的软件工程专业三位一体教学模式探索
依托工作室的软件工程实践教学研究
高职软件工程课程改革研究
软件工程应用型课程建设与实践
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨