首页 > 编程知识 正文

软件工程数据流图怎么画,软考数据流图真题

时间:2023-05-04 00:57:28 阅读:153831 作者:4368

文章目录的主题是画顶级画的0层图的解题技术

主题

建议将主题复制到word后,在与此文不同的屏幕上观看。 之后需要多次看主题。

某大学试图开发成绩管理系统,记录和管理所有选修课学生的平时成绩和考试成绩。 其主要功能记述如下。 1 .各科目由3~6个单元组成,各单元结束后进行测试,其成绩为本课程的平时成绩。 下课后进行期末考试,其成绩作为这门课的考试成绩。 2 .学生平时成绩和考试成绩均由各课主讲教师上传至成绩管理系统。 3 .在记录学生成绩之前,系统需要验证这些成绩是否有效。 首先,根据学生信息文件,确认该学生是否选择了这门课程。 否则,这些成绩无效。他确实选择了本课程,根据课程信息文件和课程单元信息文件验证平时的成绩是否与本课程包含的单元相对应,如果是,这些成绩有效,是的4 .有效成绩,系统将其存入课程成绩档案。 无效成绩由系统单独保存在无效成绩文件中,详细情况提交教务处。 在教务处未提出具体处理意见之前,系统不会处理这些成绩。 5 .如果某门课的有效平时成绩和考试成绩都记录在系统中,系统会向教务处发送课程完成通知,告知该课成绩齐全。 教务处根据需要,要求系统生成相应的成绩清单,提交考试委员会审核。 6 .生成成绩列表前,系统向主讲教师生成成绩报告单,检查是否有误。 主讲教师必须将核对后的成绩报告单返回系统。 7 .根据主讲教师核对的成绩报告单,系统生成相应的成绩清单,提交考试委员会进行考核。 考试委员会审查后,将成绩审查结果提交系统。 对于通过审查的所有成绩,系统将生成最终成绩单并通知各选择学生。 现采用结构化方法分析设计该系统,得到了图1-1所示顶层流图和图1-2所示0级流图。

图1-1

顶层流程图

 

图1-2

0级数据流图

【问题1】(4点)使用说明中的语言,赋予图1-1中的外部实体E1~E4的名称。 【问2】(3点)使用说明中的语言,赋予图1-2中的数据存储器D1~D5的名称。 【问题3】(六点)数据流图1-2中缺少三个数据流,根据说明和数据流图1-1提供的信息,分别指出这三个数据流的起点和终点。 问题4.(两点)数据流图是系统分析和总体设计阶段宏观描述系统功能要求的重要图形工具,程序流程图也是软件开发过程中常用的图形工具。 简要说明工艺流程图的应用情况和作用。 绘制顶视图

我们先不看给定的图,用主题给定的信息自己画画。 首先画顶层图。 绘制顶层图的步骤有三个。

1 .将软件系统视为加工,

2 .确定外部实体,

3 .绘制数据流

找到主题中的软件系统,在主题的第一句中可以看到“成绩管理系统”

把主题看一遍,找到所有的外部实体是不容易的

通过各个外部实体与软件系统的交互,可以得到数据流

与主题中给出的图进行比较

【问题1】的答案已经出来了。 很明显,E1是考试委员会,E2主要是教师,E3是学生,E4是教务处。

绘制0层图,然后绘制0层图,绘制0层图的步骤:

1 .细化顶视图加工

2 .数据流连接加工

再读一遍全文,看第三句,

在记录学生成绩之前,系统需要验证这些成绩是否有效

到此为止都被忽视了,在绘制顶级图表时,这里被视为对总成绩管理系统的加工。 现在需要细化成绩管理系统。 需要提取该系统的功能,将——命名为“验证成绩”进行加工。

向后看,直到第四句

有效成绩时,系统将其保存在课程成绩文件中。 无效成绩由系统单独保存在无效成绩文件中,详细情况提交教务处。

在此,我们来看一下系统的两个功能,“保存课程成绩文件”和“保存无效成绩文件”,即两个加工。

继续看第五句

如果某门课的有效平时成绩和考试成绩都记录在系统中,系统会向教务处发送课程完成通知,告知该课成绩已齐。 教务处根据需要,要求系统生成相应的成绩清单

前面的“系统将下课通知发送到教务处”显然是数据流,不被视为功能。 后来的“要求系统生成合适的成绩列表”发挥了作用,我们命令将其加工成“生成成绩列表”。

直到最后一句

“系统将生成最终成绩单,并通知各选择学生。 ”

可以看出是另一种加工。 我们命名为“生成成绩单”

接下来是补充数据流

所有这些加工实质上是整个软件系统的加工,因此可以直接使用顶层图中的数据流

这里请注意,每个数据流都对应于加工。 虽然图中省略了外部实体,但这没关系。

接下来,添加数据存储文件

画到这里还没结束。 未显示部分数据流。 例如,有保存课程成绩文件和保存无效成绩文件的数据输入、生成成绩单的数据输入流程,但没关系。 解答第二题就足够了。 在所有数据流中添加第三个问题就可以解决了。

【问题2】回答

D1是学生信息文件夹

D2是课程单元信息文件

D3是课程信息文件

D4是课程成绩文件(图中我命名为有效成绩文件) ) )。

D5为无效成绩文件

第一次画就是上图那样不能掌握布局所以很乱,第二次画时根据这张图规划好布局就可以画得更工整了
【问题3】
第一条数据流:由说明的第5条可知,生成成绩列表时,是需要从课程成绩文件中获取信息的,“课程成绩文件”是图中的D4。而D4和加工4之间并没有数据流,因此这就是一条缺失的数据流。
  第二条数据流:生成成绩单时是需要学生信息的。且不符合数据输入输出平衡(文末有相关知识),加工5应该从D1中获取相应的信息,这样就找到了第二条数据流。
  第三条数据流:说明的第7句告诉我们,只有“对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生”。也就是说,从成绩列表到成绩单的生成是有条件的。这意味着,在加工4和加工5之间应该存在一条数据流,这就是第3条数据流。
所以完整的0层图应如下图所示

解题技巧

(1)适当地为数据流、加工、数据存储、外部实体命名,名字应反映该成分的实际含义, 避免空洞的名字。

(2)画数据流而不要画控制流。

(3)每条数据流的输入或者输出是加工。

(4)—个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。

(5)允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。

(6)保持父图与子图平衡。
为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。值得注意的是,如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。

(7)在自顶向下的分解过程中,若一个数据存储首次出现时只与一个加工有关,那么这个数据存储应作为这个加工的内部文件而不必画出。

(8)保持数据守恒。
也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。一个加工的输出数据流只由它的输入数据流确定。数据流必须经过加工,即必须进入加工或从加工中流出。每个加工必须既有输入数据流,又有输出数据流。

(9)在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但在某 一张子图中可能只有读没有写,或者只有写没有读。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。