欢迎各位阅读本篇,信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。本篇文章讲述了数据流程图和数据结构分析。
需求分析活动要完成4项任务,分别是:
问题识别
评价和综合
形成规格说明
评审规格说明
这4项任务中,“问题识别”是要识别出用户提出软件需求要解决的问题;“评价和综合”是要评价数据信息的流程和数据结构,对软件功能逐步细化,阐明接口特性,揭示设计约束,并将其综合成一个总的用户问题的解法;“形成规格说明”和“评审规格说明”,顾名思义,这里不再赘述。
这4个任务中,主要的需求分析活动集中在“评价和综合”;而评价数据流程图和数据结构又是“评价和综合”中重要的一环。
首先,建立数据结构有助于发现软件功能的全貌,防止功能遗漏。
典型的数据结构如下图。
建立这样的结构是一个自顶向下逐层分解的过程。在每一层分解完成时,通过验证分解部分的总和是否覆盖上层院模块的所有功能,就可以有效地避免功能遗漏。如果不建立这样的数据结构,直接开始对功能的逐个描述,就有可能遗漏某个功能而不自知。
其次,建立数据流程图有助于分析软件的内外部接口。
数据流程图是一种描述信息流和变换的图示技术,当数据从输入流动到输出时就要应用这些变换。它的基本形式如下图。
在数据流程图中,软件元素被描述成为一个带有输入和输出数据的单个泡,而这些输入和输出数据分别由进入的箭头和出去的箭头来表示。这些数据路径同时也表明了软件元素之间的接口。当把整个软件元素及其之间的数据流都用数据流程图表现出来,实际上,软件的内部、外部接口也就表达得很清楚了。
所以,在需求分析的时候先建立数据结构和数据流程图,对于做好功能描述、接口分析会有很大帮助。
知识分享:
计算机是一门研究用计算机进行信息表示和处理的科学。这里面涉及到两个问题:
信息的表示
信息的处理
而信息的表示和组又直接关系到处理信息的程序的效率。随着计算机的普及,信息量的增加,信息范围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂。因此,为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是数据结构这门课所要研究的问题。众所周知,计算机的程序是对信息进行加工处理。
在大多数情况下,这些信息并不是没有组织,信息(数据)之间往往具有重要的结构关系,这就是数据结构的内容。数据的结构,直接影响算法的选择和效率。
计算机解决一个具体问题时,大致需要经过下列几个步骤:首先要从具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法(Algorithm),最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。
计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。
数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并由计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑。一个数据元素由若干个数据项组成。数据项是数据的不可分割的最小单位。
有两类数据元素:一类是不可分割的原子型数据元素,如:整数"5",字符 "N" 等;另一类是由多个款项构成的数据元素,其中每个款项被称为一个数据项。例如描述一个学生的信息的数据元素可由下列6个数据项组成。其中的出身日期又可以由三个数据项:"年"、"月"和"日"组成,则称"出身日期"为组合项,而其它不可分割的数据项为原子项。
在GJB438B的需求规格说明书的内容要求中,并没有数据流程图和数据结构。这样使得一些依据438B标准编写需求规格说明,进行需求分析的软件设计师,只知道按照模版要求,在描述完软件运行状态和方式之后,就开始逐条描述软件功能了。
由此就可能带来前面所说的遗漏需求等问题。要避免这样的问题,又要符合438B模版的要求,做法很简单,就是在“1.2系统概述”中增加数据流程图和数据结构。因为“系统概述”的内容是介绍系统和软件的用途,而数据流程图和数据结构所展现的软件的总体功能、数据信息,就是软件的总体介绍,与这一章节的内容很契合。
小结:您可以不采纳我的答案,但请您一定要考虑下我的建议哦!文章中不足及错误之处在所难免,敬请专家和读者给予批评指正。当然如果大家还想了解更多方面的详细内容的话呢,不妨关注编程学习网教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!