从数据流程图导出初始结构图方法模板

合集下载

第6章 系统设计

第6章  系统设计

(5)物理系统配置方案设计 ● 系统工作模式设计 ● 硬件配置 ● 软件设计 ● 网络设计方案 (6)系统实施方案及说明

真题1.模块结构图中,表示模块的符号是(
A)
A.矩形框
B.箭头 C.空心圆
D.实心圆
真题2.如果数据流程图呈束状结构,则称它为( B )
A.变换型数据流程图 B.事务型数据流程图
D.可变性原则,经济性原则,可操作性原则,可扩展性原则
真题1. 为提高模块的独立性,应通过低___耦合___和高内聚的原则
、运行和维护阶段】

真题1. 从开发内容的角度看,系统设计可以划分为___逻辑___设计和物理 设计两个层面。
真题2. 模块的导出类型分事务型和___变换___型。
真题3. 数据库设计的全过程包括用户需求分析、概念结构设计、___逻辑 结构___设计、物理结构设计、数据库的实施、数据库实施、运行与维护等 六个阶段。
一种度量。也就是说,内聚是对模块内各处理动作组合强度的一
种度量。一个模块的内直接调用同一个低层模块的模 块的个数。 扇出系数是指直接隶属于一个模块的模块个数,即一个模 块直接调用其它模块的个数。
(3)作用范围与控制范围。判断的作用范围是指所有受该判断 影响的模块;模块的控制范围是指模块本身及其所有下属模块 。作用范围应在控制范围之内。
次输入得到多次利用,保证系统的一致性和完整性。 (2)灵活性和可维护性原则。系统应灵活,对环境的变化有很
强的适应性。因此要求尽量采用模块化结构,提高各部分的独 立性,尽量减少各个子系统之间的数据依赖性,可维护性是灵 活性的一个方面。 (3)可靠性原则。是指系统受外界干扰时的抵御力与恢复能力。 衡量系统可靠性的指标有平均故障时间、平均维护时间、安全 保密性和抗病毒能力等。 (4)经济性原则。提高效益、降低成本。硬件上不必过分追求 先进。

实验04Visio绘制工程图形

实验04Visio绘制工程图形

实验04Visio 绘制工程图形1. 阅读:《未来之路》与《数字化生存》1996年,微软公司的缔造者比尔·盖茨 (Bill Gates ,图4.11)曾撰写过一本在当时轰动一时的书——《未来之路》,他在书中预测了微软乃至整个科技产业未来的走势。

盖茨在书中写道:“尽管现在看来这些预测不太可能实现,甚至有些荒谬,但是我保证这是本严肃的书,而决不是戏言。

十年后我的观点将会得到证实。

”十年后,回望盖茨的《未来之路》,部分预测已经成为现实。

1996年,一本充满洞见的《数字化生存》风靡中国,它的翻译出版曾经引发中国人对未来信息世界的狂热激情与无尽梦想,这几乎被视为中国因特网启蒙运动的开始。

而此书的作者尼古拉斯•尼葛洛庞帝 (Nicholas Negroponte ,图4-12) 也由此被称Visio 绘制工程图形 图4.11 比尔 盖茨之中国因特网的启蒙者。

尼葛洛庞帝是美国麻省理工学院教授及媒体实验室的创办人,同时也是《连线》杂志的专栏作家。

他被西方媒体推崇为“电脑与传播科技领域最具影响力的大师之一”,一直倡导利用数字化技术来促进社会生活转型。

回顾10多年来,尼葛洛庞帝的数字化生存理论已经被一一验证。

一场轰轰烈烈的数字图4.12 尼葛洛庞帝革命使中国人的生活方式、生存方式乃至思维方式发生了深刻的变革。

结合本课程的学习,建议你找出时间来阅读一下盖茨的《未来之路》与尼葛洛庞帝的《数字化生存》,尝试从广泛阅读中体会学习的乐趣与汲取丰富的知识。

阅读后,建议你找个机会和老师、同学们来分享你所获得的体会与认识。

2. 习题与思考4.1 当你要“写”一个程序时,你是在设计软件吗?什么原因使得软件设计不一致于编写程序?答:_________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 4.2 模块独立性与信息隐蔽(反映模块化有效程度的属性) 有何关系?答:_________________________________________________________________ _________________________________________________________________________ _________________________________________________________________________ 4.3 模块的内聚性程度与该模块在分层结构中的位置有关系吗?说明你的论据。

2022年太原理工大学软件工程期末考试

2022年太原理工大学软件工程期末考试

2022年太原理工大学软件工程期末考试一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚B模块低耦合C模块独立性D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A)A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D)A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D)A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依托据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从()语言开始,软件摆脱了对硬件的依赖。

A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系D属性12、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小13、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A)A.黑盒法B.白盒法C.灰盒法D.综合法14、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C)A业务流程图,数据字典B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码15、结构化程序设计思想的核心是要求程序只由顺序、循环和( A)三种结构组成。

数据流程图和系统结构图_详细版本

数据流程图和系统结构图_详细版本

数据流程图和系统结构图_详细版本数据流程图1.该图由业务流程图转换而来。

用以描述数据在系统中的流动情况。

2.目的有二。

1,看是否因为我们工作的失误,漏掉了某些数据。

2,如果某些数据,从来没有哪个数据处理用到,而且确实没有失误,说明该数据的产生没有意义。

3.组成:数据处理:名字必须是动词+名词。

动词是对数据的操作,名词是被操作的数据,如填写密码。

有一个唯一的编码。

数据流:Array数据存储:数据流的集合,将来很有可能变成数据库。

外部实体:系统之外,又与本系统发生联系的事物。

往往是数据的来源或者去向。

4.如何绘制数据流程图:(1)根据给出的题意,找出每句的动词+名词,分析该名词是不是数据处理。

动词+名词不一定是数据处理,但数据处理一定是动词+名词。

分析每个句子中,有几个数据处理,哪些可以省略不写,哪些级别太低,在现在正在画的层次上,不需要些。

例如第6句,动词+名词有信息汇总排序、确定信息等级、形成初始表和上报初始表这4个,但我们上报初始表,可以通过一个数据流的来表示,数据流的名字叫做初始表,数据流的方向代表了上报的方向;而信息汇总排序、确定信息等级我们认为他们是形成初始表的具体过程,故此,这句话,我们整理的数据处理只有一个,那就是形成初始表。

并不是说每句话只能有一个数据处理。

有一句话有两个甚至以上的数据处理。

例如第7句,这里面有两个数据处理,因为是不同对象操作的不同的业务,因此两个都留着。

(2)第2步是找出所有的外部实体,外部实体一般数据的来源或者去向。

在画外部实体的时候,注意别忘了一些容易忽视的,例如第5句中的文件。

(3)第3步是找出主要的数据存储。

其实,基本上每一个数据处理,都可能产生一个数据存储,例如提供考试成绩这个数据处理,产生一个考试成绩的数据存储。

但一个是为了阅读的清晰,另外数据存储将来可能转换为未来系统的数据库。

因此,一般只画主要的。

因为这个是奖学金评定的流程,因此,将奖学金的初始表、总名单作为了数据存储,包括档案,在这里,档案其实也可以画成外部实体。

如何从数据流程图导出结构图

如何从数据流程图导出结构图

从数据流程图导出结构图数据流程图有两种典型的结构:变换型结构和事务型结构。

对这两种结构,可以分别通过变换分析和事务分析方法导出标准形式的结构图。

采用这些方法时,都是先设计结构图的顶端主模块,然后自顶向下逐步细化,最后得到满足数据流程图要求的系统结构。

一、变换分析变换结构是一种线性结构。

它可以明显地分成逻辑输入、主加工和逻辑输出。

变换分析过程可以分为三步:找出逻辑输入、主加工和逻辑输出,设计顶层模块和第一层模块,设计中、下层模块。

下面分别讨论。

1、找出系统的逻辑输入、主加工和逻辑输出如果设计人员经验丰富,又熟悉系统说明书,则容易确定系统的主加工。

例如,几股数据流的汇合处往往就是系统的主加工。

若一时不能确定哪是主加工,可以用下面的方法先确定哪些数据流是逻辑输入,哪些数据流是逻辑输出。

从物理输入端开始,一步步向系统的中间移动,直至这样一个数据流:它已不能再被看作系统的输入,则它的前一个数据流就是系统的逻辑输入。

同理,从物理输出端开始,逆数据流方向向中间移动,可以确定系统的逻辑输出。

介于逻辑输入和逻辑输出之间的加工就是主加工。

当然,实际的数据流程图往往比这个例子复杂,输入、输出数据流都可能有多个。

这时,需要对每个输人、输出数据流进行分析,确定相应的逻辑输入、逻辑输出。

处于这些逻辑输入、逻辑输出之间的处理框就是主加工。

主加工可能包括数据流程图中的多个处理框。

从上面的分析过程可以看出,逻辑输入、逻辑输出的划分涉及对数据流的理解。

各人的理解不同,结果就有差异,但一般出入不会太大。

2、设计顶层模块和第一层模块找到主加工之后,遵照"自顶向下,逐步加细"的原则,设计各层的模块。

每创建一个模块,必须确定该模块的外部特征:模块的功能、与其他模块的界面(调用时传送的信息)。

为每个模块起一个名字,这个名字应当恰如其分地反映出这个模块的功能。

系统的主加工就是系统的顶层模块,其功能就是整个系统的功能。

第一层模块按输入、变换、输出等分支来处理:为每一个逻辑输入设计一个输人模块,其功能是为顶层模块提供相应的数据;为每一个逻辑输出设计一个输出模块,它的功能即是输出顶层模块的输出信息;为主加工设计一个变换模块,它的功能就是将逻辑输入变换成逻辑输出。

DFD图转换为结构图

DFD图转换为结构图

变换流
信息沿输入通路(可能包含多个处理)进入系统,同时 由外部形式变换内部形式。进入系统的信息通过变换中心 (在DFD中呈现为多个处理组成),经过加工处理以后再沿 输出通路(包含多个处理)变换成外部形式离开软件系统。
事务流
数据沿输入通路到达一个处理 T (事务中心),这个处 理接收输入数据(事务),分析每个事务类型,根据事务类 型在若干个动作序列中选出一个来执行。
具有混合结构的DFD片段设计过程
在规模较大的实际系统中,其数据流图往往是变 换型和事务型的混合结构。
具有混合结构的DFD片段设计分析和事 务分析应用在同一数据流图 的不同部分。例如,可以以 “变换分析”为主,“事务 分析”为辅进行设计。先找 出主处理,设计出结构图的 上层,然后根据数据流图各 部分的结构特点,适当选用 “变换分析”或“事务分析” 就可得出初始结构图的某个 方案。
使用DFD图 进行应用系统总体设计
在系统分析阶段,采用结构化分析方法得到了由数 据流图、数据字典和加工说明等组成的系统的逻辑模型。 在系统设计阶段,可根据一些规则从数据流图导出系统 初始的模块结构图。 根据数据流图描绘信息在系统中加工和流动的 情况定义一些不同的“映射(事务流和变换流)”, 利用这些映射把数据流图变换成软件结构。
具有变换结构的DFD片段设计过程
具有事务特性结构的DFD片段设计过程
当数据流图呈现“束状”结构时,应采用事务分 析的设计方法。就步骤而言,该方法与变换分析方法 大部分类似,主要差别在于由数据流图到模块结构的 映射方式不同。
具有事务特性结构的DFD片段设计过程
(1)确定以事务为中心的结构,包括找出事务中 心和事务来源。
“事务”
流类型
“变换”
区分事务中心和 数据接收通路

天津科技大学2009-2010年第二学期软件工程考试试卷B卷(含答案)

天津科技大学2009-2010年第二学期软件工程考试试卷B卷(含答案)

1. DFD(数据流程图)中的每个加工至少需要( D ) 。
A. 一个输入流
B. 一个输出流
C. 一个输入或输出流
D. 一个输入流和一个输出流
2. 测试的关键问题是( D )。
A. 如何组织对软件的评审
B. 如何验证程序的正确性
C. 如何采用综合策略
D. 如何选择测试用例
3. 软件维护困难的主要原因是( C )。
A.系统描述
B.详细设计
C.测试
D.编程辅助
26. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描
绘了系统的 ( A )
A.总貌
B.细节
C.抽象
D.软件的作者
27. 软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试
方法,称为( C )测试。
A.白盒法
B.灰盒法
C.黑盒法
D.综合法
答:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否
满足规定的需求或是弄清预期结果与实际结果之间的差别。
目的是:
(1) 验证软件需求和功能是否得到完整实现; (2) 验证软件是否可以发布
(3) 发现软件系统的缺陷、错误及不足
第 6 页 (共 10 页)
―――――――――――――装――――――――――――订――――――――――――线――――――――――――――
助功能是属于( C ) 。
A.改正维护
B.适应性维护
C.完善性维护
D.改正并适应性维护
专 业:
学 院:
第 3 页 (共 10 页)
―――――――――――――装――――――――――――订――――――――――――线――――――――――――――

功能结构图

功能结构图
(2)对系统结构图进行改进。即从提高模块的独立性目标出发,合度,如果可以,就要对其改进,直到理想为止。
模块划分原则
把一个系统设计成若干模块的方法称为模块化。划分模块的目的是把一个系统分解为一些规模较小的,功能 较简单的,更易于建立和分解的部分。各个模块都有自己的独立性,模块之间的相互关系(如信息交换关系、调用 关系)则通过一定的方式予以规定和说明。划分模块在总体结构设计中十分重要,模块划分是否合理将直接影响系 统设计的质量、开发时间和开发费用,以及系统实施维护的方便程度。划分模块并没有严格和绝对的标准,一个好 的模块划分方案也不是惟一的,通常划分模块的原则如下:
(2)恰当的模块大小。
如果模块划分得过大,将会造成程序阅读、测试和维护困难;如果模块划分过小,就会增加模块个数,增加模 块接口的复杂性,增加模块接口的调试工作,增加花在调用和返回上的时间开销,降低工作效率。
作用
作用
功能结构图主要是为了更加明确的体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各 自功能部分,使之条理化。
(1)模块之间低耦合( Low Coupling,模块内部高聚合( High Cohesion)。
好的模块设计应做到:模块之间低耦合,模块内部高聚合。模块之间低耦合是指尽量减少模块之间的程度,其 中任一模块运行时,与其他模块尽量无关。因为模块之间的越多,则相互间的关系也越复杂模块内部高聚合是指 功能上高聚合,并具有大的独立性,即要求系统中的每一个模块都具有较强的聚合,它的各个组成部分都是彼此密 切相关的。
谢谢观看
设计步骤
系统功能结构图的设计步骤,可以分成两个步骤进行:
(1)从新系统数据流程图出发导出初始结构图。即首先把整个系统看作一个模块,然对其逐层分解。分解 时,要遵守划分模块的基本原则和完成数据流程图所规定的各项任务及其处理顺序。每分解出一层模块,都要标明 信息传递情况并考虑每一模块的实现方法,同时还要考虑系统结构的层数。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从数据流程图导出初始结构图方法
下面分别讨论经过”变换分析”和”事务分析”技术, 导出”变换型”和”事务型”初始结构图的技术。

1.变换分析
根据系统说明书, 能够决定数据流程图中, 哪些是系统的主处理。

主处理一般是几股数据流汇合处的处理, 也就是系统的变换中心, 即逻辑输入和逻辑输出之间的处理。

确定逻辑输入——离物理输入端最远的, 但仍可被看作系统输入的那个数据流即为逻辑输入。

确定方法是从物理输入端开始, 一步步向系统的中间移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输入, 则其前一个数据流就是系统的逻辑输入。

确定逻辑输出——离物理输出端最远的, 但仍可被看作系统输出的那个数据流即为逻辑输出。

方法是从物理输出端开始, 一步步向系统的中间反方向移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输出, 则其后一个数据流就是系统的逻辑输出。

对系统的每一股输入和输出, 都用上面的方法找出相应的逻辑输入、输出。

逻辑输入和逻辑输出之间的加工, 就是系统的主加工。

如图4-24所示。

图4-24(a)初始DFD图
图4-24(b)找系统的主加工
2) 设计模块的顶层和第一层
”顶层模块”也叫主控模块, 其功能是完成整个程序要做的工作。

在与主加工对应的位置上画出主模块。

系统结构的”顶层”设计后, 下层的结构就按输入、变换、输出等分支来分解。

设计模块结构的第一层: 为逻辑输入设计一个输入模块, 它的功能是向主模块提供数据; 为逻辑输出设计一个输出模块, 它的功能是输出主模块提供的数据; 为主加工设计一个变换模块, 它的功能是将逻辑输入变换成逻辑输出。

第一层模块同顶层主模块之间传送的数据应与数据流程图相对应。

这里主模块控制并协调第一层的输入、变换、输出模块的工作。

( 3) 设计中、下层模块
由自顶向下、逐步细化的过程, 为每一个上层模块设计下属模块。

输入模块的功能是向它的调用模块提供数据, 由两部分组成: 一部分是接受输入数据; 另一部分是将这些数据变换成其调用模块所
需要的数据。

在有多个输入模块的情况下, 我们可为每一个输入模块设计两个下层模块, 其中一个是输入, 另一个是变换。

输出模块的功能是将其调用模块提供的数据变换成输出的形式。

也就是说, 要为每一个输出模块设计两个下层模块, 其中一个是变换, 另一个是输出。

该过程自顶向下递归进行, 直到系统的物理输入端或物理输出端
为止, 如图4-25所示。

图4-25由变换型数据流程图导出初始模块结构图
变换模块设计下层模块则没有通用的规则能够遵循, 能够根据数
据流程图中主处理的复杂与否来决定是否分为子处理。

每设计出一个新模块, 应同时给它起一个能反映模块功能的名字。

运用上述方法, 就可获得与数据流程图相对应的初始结构图。

2.事务分析。

相关文档
最新文档